点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我的程序如下:
但是我收到一条错误消息,提示可以选择屏幕顺序……
表:ekko,ekpo。
TYPE-POOLS:slis。
数据:
iekko发生次数0的开始
ebeln TYPE ekko-ebeln,
bukrs TYPE ekko-bukrs,
bstyp TYPE ekko-bstyp,
bsart TYPE ekko-bsart,
bsakz TYPE ekko-bsakz,
loekz TYPE ekko-loekz,
状态类型ekko状态
aedat TYPE ekko-aedat,
伊科的尽头。
数据:
iekpo发生0的开始,
ebeln TYPE ekpo-ebeln,
matnr TYPE ekpo-matnr,
ematn TYPE ekpo-ematn
bukrs TYPE ekpo-bukrs,
werks TYPE ekpo-werks
lgort TYPE ekpo-lgort,
bednr TYPE ekpo-bednr,
matkl TYPE ekpo-matkl,
艾科波结束。
数据:开始于最终事件0,
ebeln像ekko-ebeln,
bukrs喜欢ekko-bukrs,
bstyp就像ekko-bstyp,
bsart喜欢ekko-bsart,
bsakz就像ekko-bsakz,
loekz喜欢ekko-loekz,
statu像ekko-statu,
matnr like ekpo-matnr,
ematn像ekpo-ematn,
werks像ekpo-werks
lgort喜欢ekpo-lgort,
bednr像ekpo-bednr,
matkl like ekpo-matkl,
决赛结束。
DATA:i_repid TYPE sy-repid,
final_cat之类的final表,
wa_final TYPE最终版本。
数据:int_fcat类型slis_t_fieldcat_alv,
wa_layout类型slis_layout_alv,
v_ebeln TYPE ekko-ebeln,
v_matnr TYPE ekpo-matnr,
it_events类型slis_alv_event,
gt_events类型slis_t_event。
DATA:带有标题行的bdcdata的bdcdata类型表,
bdcdata的zdata类型表。
SELECT-OPTIONS:s_ebeln FOR ekko-ebeln,
s_bukrs FOR ekko-bukrs,
s_aedat FOR ekko-aedat,
s_bsart FOR ekko-bsart,
s_ebelp FOR ekpo-ebelp。
开始选择。
SELECT ebeln
bukrs
bstyp
bsart
bsakz
loekz
状态
来自ekko
进入表iekko的对应字段
s_ebeln中的ebeln。
SELECT ebeln
matnr
ematn
bukrs
古怪
lgort
bednr
matkl
从ekpo到表iekpo
对于iekko中的所有条目ebeln EQ iekko-ebeln。
用ebeln排序iekpo。
环在依可。
使用键ebeln = iekko-ebeln二进制搜索读取表iekpo。
IF sy-subrc EQ 0。
MOVE:iekko-ebeln到final-elbeln,
iekko-bukrs到最终用户,
iekko-bstyp到final-bstyp,
iekko-bsart到最终bsart,
iekko-bsakz到final-bsakz,
iekko-loekz到final-loekz,
iekko状态到最终状态,
iekpo-matnr到final-matnr,
iekpo-ematn到最终ematn,
iekpo-werks到最终版本,
iekpo-lgort到final-lgort,
iekpo-bednr到final-bednr,
iekpo-matkl到final-matkl。
APPEND结束。
清除决赛。
清除iekko。
清除iekpo。
ENDIF。
ENDLOOP。
i_repid = sy-repid。
wa_layout-zebra ='X'。
调用功能'REUSE_ALV_FIELDCATALOG_MERGE'
导出
i_program_name = i_repid
i_internal_tabname ='最终'
i_inclname = i_repid
改变
ct_fieldcat = int_fcat
例外情况
接口不一致= 1
program_error = 2
其他= 3。
IF sy-subrc <> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
调用功能'REUSE_ALV_GRID_DISPLAY'
导出
i_callback_program = i_repid
i_callback_user_command ='USER_COMMAND1'
i_callback_top_of_page ='TOP'
i_callback_html_end_of_list ='END_OF_LIST_HTML'
is_layout = wa_layout
it_fieldcat = int_fcat
i_save ='A'
i_screen_start_column = 1
i_screen_start_line = 2
i_screen_end_column = 1000
i_screen_end_line = 2000
表格
t_outtab =最终
例外情况
program_error = 1
其他= 2。
IF sy-subrc <> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
*&--------------------------------------------- ------------------------ *
*&表单end_of_list_html
*&--------------------------------------------- ------------------------ *
*文字
* ---------------------------------------------- ------------------------ *
*->结束文字
* ---------------------------------------------- ------------------------ *
FORM end_of_list_html使用结束类型对cl_dd_document的引用。
呼叫方法结束->添加文本
导出
文字='百安居------>"拳王"。
ENDFORM。 " end_of_list_html
数据:带有标题行的wa_listheader类型slis_t_listheader。
*&--------------------------------------------- ------------------------ *
*&表格TOP-OF-PAGE
*&--------------------------------------------- ------------------------ *
*文字
* ---------------------------------------------- ------------------------ *
FORM顶部。
wa_listheader-typ ='S'。
wa_listheader-key ='DATE'。
wa_listheader-info = sy-datum。
将sy-data写入wa_listheader-info。
APPEND wa_listheader。
wa_listheader-typ ='S'。
wa_listheader-key ='TIME'。
wa_listheader-info = sy-uzeit。
将sy-uzeit写到wa_listheader-info。
APPEND wa_listheader。
wa_listheader-typ ='S'。
wa_listheader-key ='客户端'。
wa_listheader-info = sy-mandt。
APPEND wa_listheader。
清除wa_listheader。
调用功能'REUSE_ALV_COMMENTARY_WRITE'
导出
it_list_commentary = wa_listheader []
i_logo ='ENJOYSAP_LOGO'。
* i_end_of_list_grid ='END'。
ENDFORM。 " TOP-OF-PAGE
*&--------------------------------------------- ------------------------ *
*&USER_COMMAND1表格
*&--------------------------------------------- ------------------------ *
*文字
* ---------------------------------------------- ------------------------ *
*-> UCOMM文字
*-> RS_SELFIELD_EKPO文本
* ---------------------------------------------- ------------------------ *
FORM user_command1使用ucomm TYPE sy-ucomm
更改rs_selfield_ekpo TYPE slis_selfield。
案例ucomm。
当'&IC1'时。
如果rs_selfield_ekpo-fieldname ='EBELN'。
设置参数ID" BES"字段v_ebeln。
呼叫交易" ME23N"并跳过第一屏。
ELSE。
MESSAGE"无效字段" TYPE" S"。
ENDIF。
结束。
案例ucomm。
当'&IC1'时。
如果rs_selfield_ekpo-fieldname ='MATNR'。
设置参数ID" MAT"字段v_matnr。
清除bdcdata。
使用'SAPLMGMW''0100'执行bdc_dynpro。
使用" BDC_CURSOR"执行bdc_field
'RMMW1-MATNR'。
使用'RMMW1-MATNR'执行bdc_field
v_matnr。
使用'MSICHTAUSW-KZSEL(01)'执行bdc_field
'X'。
通话功能'MATERIAL_BTCI_SELECTION_NEW'
导出
材质= v_matnr
选择='K'
tcode ='MM43'
表格
btci_d0070 = zdata
例外情况
material_not_found = 1
material_number_missing = 2
material_type_missing = 3
material_type_not_found = 4
no_active_dynpro_selected = 5
no_authority = 6
其他= 7。
IF sy-subrc <> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
将zdata的行追加到bdcdata。
清除v_matnr。
使用bdcdata模式'E'进行交易'MM43'。
ENDIF。
结束。
ENDFORM。 " user_command1
*&--------------------------------------------- ------------------------ *
*&表格BDC_DYNPRO
*&--------------------------------------------- ------------------------ *
*文字
* ---------------------------------------------- ------------------------ *
*->程序文本
*-> DYNPRO文字
* ---------------------------------------------- ------------------------ *
使用程序dynpro来形成bdc_dynpro。
清除bdcdata。
bdcdata-program =程序。
bdcdata-dynpro = dynpro。
bdcdata-dynbegin ='X'。
附加bdcdata。
ENDFORM。 " BDC_DYNPRO
* ---------------------------------------------- ------------------------ *
*插入字段*
* ---------------------------------------------- ------------------------ *
使用fnam fval形成bdc_field。
清除bdcdata。
bdcdata-fnam = fnam。
bdcdata-fval = fval。
附加bdcdata。
ENDFORM。 " BDC_FIELD
嗨,
尝试使用功能模块'MATERIAL_MAINTAIN_DIAL_RETAIL'代替调用Call Transaction。
传递" P_PSTAT"值。
感谢与问候
巴拉克里希纳(Bala Krishna)
嗨。
在设置参数EJ时,在user_command1
中检查您的代码。/p>
当'&IC1'时。
如果rs_selfield_ekpo-fieldname ='EBELN'。
设置参数ID'BES'FIELD v_ebeln。
v_ebeln为空白,与v_mat
相同,您需要选择记录,然后赋值,也许这就是为什么它不起作用的原因。
应该是这样的:
读取表最终索引rs_selfield-tabindex。
设置参数ID" BES"字段最终标识符。
问候
米格尔(Miguel)
Akshath,
您还需要在您的FM MATERIAL_BTCI_SELECTION_NEW中提供MTART。
赞:
*用于在MM02中查找视图号的功能模块
通话功能'MATERIAL_BTCI_SELECTION_NEW'
导出
材质= w_final-matnr
materialart = lv_mtart"材料类型(MTART)
选择='E'
tcode ='MM02'
表格
btci_d0070 = lt_btci
例外情况
material_not_found = 1
material_number_missing = 2
material_type_missing = 3
material_type_not_found = 4
no_active_dynpro_selected = 5
no_authority = 6
其他= 7。
使用键fval ='X'读取表lt_btci。
如果sy-subrc = 0。
lv_cnt = lt_btci-fnam + 17(2)。
将'MSICHTAUSW-DYTXT''(''lv_cnt')'放入l_dytxt。
将'MSICHTAUSW-KZSEL''(''lv_cnt')'放入l_dytxt1。
ENDIF。
这将为您工作。
Vivek
使用下面的代码通过调用事务MM43选择特定的视图。
*基本
设置参数ID'MAT'字段L_MATNR。
设置参数ID" MXX"字段" 0"。 "基本
呼叫交易" MM43"并跳过第一屏。
*基础+物流:配送中心
设置参数ID'MAT'字段L_MATNR。
SET PARAMETER ID'VZW'FIELD L_DC。
设置参数ID'MXX'字段'05'。 "基本+物流:配送中心
呼叫交易" MM43"并跳过第一屏。
*基本+物流:配送中心+物流:商店
设置参数ID'MAT'字段L_MATNR。
SET PARAMETER ID'VZW'FIELD L_DC。
SET PARAMETER ID'WRK'FIELD L_STORE。
设置参数ID" MXX"字段" 056"。 "基本+物流:配送中心+物流:商店
呼叫交易" MM43"并跳过第一屏。
要点是如下所示的" MXX"值。
* 0基本数据
* 1列表
* 2分类
* 3采购
* 4销售
* 5物流:配送中心
* 6物流:商店
* 7 POS
* 8分配表
因此,如果您要预选"列表+后勤:商店视图",请使用SET PARAMETER ID'MXX'FIELD'16'。
还有一点要注意,如果您使用函数" MATERIAL_MAINTAIN_DIAL_RETAIL",则P_PSTAT的值将与" MXX"的值相同。
一周热门 更多>