当前位置:网站首页>SAP WPER(POS接口监控器)IDCO过账凭证ALV报表
SAP WPER(POS接口监控器)IDCO过账凭证ALV报表
2022-07-22 05:05:00 【rogerix4】
1. 代码
* CONSTANTS FOR IDOC STATUS
CONSTANTS: c_idoc_status_ok LIKE edidc-status VALUE '53',
c_idoc_status_nok LIKE edidc-status VALUE '51',
c_idoc_status_orig LIKE edidc-status VALUE '70',
c_idoc_status_copy LIKE edidc-status VALUE '69',
c_idoc_status_ready LIKE edidc-status VALUE '64',
c_idoc_status_end LIKE edidc-status VALUE '68'.
TYPES: BEGIN OF type_idoc,
docnum LIKE edidc-docnum,
mestyp LIKE edidc-mestyp,
sndprn LIKE edidc-sndprn,
credat LIKE edidc-credat,
status LIKE edidc-status,
name1 LIKE t001w-name1,
mestypnr LIKE sy-tabix.
TYPES: END OF type_idoc.
DATA: lt_idocs TYPE TABLE OF type_idoc,
wa_idocs TYPE type_idoc.
TYPES: BEGIN OF ty_data,
sndprn LIKE edidc-sndprn,
mestyp LIKE edidc-mestyp,
credat LIKE edidc-credat,
docnum LIKE edidc-docnum,
status LIKE edidc-status,
objtype LIKE objectconn-objecttype,
text TYPE seu_text,
name TYPE seu_name,
END OF ty_data.
DATA: lt_data TYPE TABLE OF ty_data,
wa_data TYPE ty_data.
DATA: t_foldoc TYPE wpusa_t_foldoc,
wa_foldoc LIKE LINE OF t_foldoc.
DATA : gr_table TYPE REF TO cl_salv_table.
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE l_text1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) l_text2 FOR FIELD p_dat_v.
PARAMETERS p_dat_v LIKE edidc-credat.
PARAMETERS: p_time_v LIKE edidc-cretim
VISIBLE LENGTH 10.
SELECTION-SCREEN COMMENT 57(5) l_text3 FOR FIELD p_dat_b.
PARAMETERS p_dat_b LIKE edidc-credat.
PARAMETERS p_time_b LIKE edidc-cretim DEFAULT '235959'
VISIBLE LENGTH 10.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK block1.
INITIALIZATION.
l_text1 = '选择条件'.
l_text2 = '建立时间'.
l_text3 = '至'.
p_dat_b = sy-datum.
p_dat_v = sy-datum - 7.
START-OF-SELECTION.
PERFORM frm_get_data.
END-OF-SELECTION.
PERFORM frm_show_data.
*&---------------------------------------------------------------------*
*& FORM FRM_SHOW_DATA
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
* --> P1 TEXT
* <-- P2 TEXT
*----------------------------------------------------------------------*
FORM frm_show_data .
DATA: lo_columns TYPE REF TO cl_salv_columns.
DATA: lo_column TYPE REF TO cl_salv_column.
DATA: lo_column_list TYPE REF TO cl_salv_column_list.
DATA: gr_display TYPE REF TO cl_salv_display_settings.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = lt_data.
CATCH cx_salv_msg .
ENDTRY.
lo_columns = gr_table->get_columns( ). "获取对象
lo_columns->set_optimize( 'X' ). "设置行宽自适应
TRY.
lo_column = lo_columns->get_column( 'NAME' ). "获取列
lo_column->set_long_text( '凭证编号' ). "设置列长文本描述
lo_column->set_medium_text( '凭证编号' ). "设置列中文本描述
lo_column->set_short_text( '凭证编号' ). "设置列短文本描述
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
TRY.
lo_column = lo_columns->get_column( 'TEXT' ). "获取列
lo_column->set_long_text( '凭证编号类型描述' ). "设置列长文本描述
lo_column->set_medium_text( '凭证编号类型描述' ). "设置列中文本描述
lo_column->set_short_text( '凭证编号类型描述' ). "设置列短文本描述
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
TRY.
lo_column_list ?= lo_columns->get_column( 'SNDPRN' ).
lo_column_list->set_key( if_salv_c_bool_sap=>true ).
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
TRY.
lo_column_list ?= lo_columns->get_column( 'MESTYP' ).
lo_column_list->set_key( if_salv_c_bool_sap=>true ).
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
TRY.
lo_column_list ?= lo_columns->get_column( 'CREDAT' ).
lo_column_list->set_key( if_salv_c_bool_sap=>true ).
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
TRY.
lo_column_list ?= lo_columns->get_column( 'DOCNUM' ).
lo_column_list->set_key( if_salv_c_bool_sap=>true ).
CATCH cx_salv_not_found. "#EC NO_HANDLER
ENDTRY.
DATA: lo_sorts TYPE REF TO cl_salv_sorts.
lo_sorts = gr_table->get_sorts( ).
TRY.
CALL METHOD lo_sorts->add_sort
EXPORTING
columnname = 'SNDPRN'
subtotal = if_salv_c_bool_sap=>true
sequence = if_salv_c_sort=>sort_up.
CATCH cx_salv_not_found . "#EC NO_HANDLER
CATCH cx_salv_data_error . "#EC NO_HANDLER
CATCH cx_salv_existing . "#EC NO_HANDLER
ENDTRY.
TRY.
CALL METHOD lo_sorts->add_sort
EXPORTING
columnname = 'MESTYP'
subtotal = if_salv_c_bool_sap=>true
sequence = if_salv_c_sort=>sort_up.
CATCH cx_salv_not_found . "#EC NO_HANDLER
CATCH cx_salv_data_error . "#EC NO_HANDLER
CATCH cx_salv_existing . "#EC NO_HANDLER
ENDTRY.
TRY.
CALL METHOD lo_sorts->add_sort
EXPORTING
columnname = 'CREDAT'
subtotal = if_salv_c_bool_sap=>true
sequence = if_salv_c_sort=>sort_up.
CATCH cx_salv_not_found . "#EC NO_HANDLER
CATCH cx_salv_data_error . "#EC NO_HANDLER
CATCH cx_salv_existing . "#EC NO_HANDLER
ENDTRY.
TRY.
CALL METHOD lo_sorts->add_sort
EXPORTING
columnname = 'DOCNUM'
subtotal = if_salv_c_bool_sap=>true
sequence = if_salv_c_sort=>sort_up.
CATCH cx_salv_not_found . "#EC NO_HANDLER
CATCH cx_salv_data_error . "#EC NO_HANDLER
CATCH cx_salv_existing . "#EC NO_HANDLER
ENDTRY.
gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
"设置自定义状态栏
gr_table->set_screen_status(
pfstatus = 'STANDARD_FULLSCREEN'
report = sy-repid
set_functions = gr_table->c_functions_all ).
CALL METHOD gr_table->display.
ENDFORM. " FRM_SHOW_DATA
*&---------------------------------------------------------------------*
*& FORM FRM_GET_DATA
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
* --> P1 TEXT
* <-- P2 TEXT
*----------------------------------------------------------------------*
FORM frm_get_data .
DATA: l_descr TYPE char20.
"GET MESTYP
* CALL FUNCTION 'POS_SA_GET_MSGTYPE_PROCESS'
* TABLES
* MSGPRO =
* FOLDESCR = .
"GET IDOC LIST
SELECT docnum mestyp sndprn credat status FROM edidc "#EC PORTABLE
INTO TABLE lt_idocs[]
WHERE upddat >= p_dat_v
AND ( credat = p_dat_v AND cretim >= p_time_v OR
credat > p_dat_v )
AND ( credat = p_dat_b AND cretim <= p_time_b OR
credat < p_dat_b )
AND direct = '2'
AND mestyp IN ('ORDERS','WALREQ','WGSREQ','WPUBON','WPUERR','WPUFIB','WPUKSR','WPUTAB','WPUUMS','WPUWBW','WP_EAN','WP_PER','WP_PLU','WVINVE')
AND status <> c_idoc_status_orig.
SORT lt_idocs BY sndprn mestyp credat docnum.
LOOP AT lt_idocs INTO wa_idocs.
CLEAR: wa_data.
MOVE-CORRESPONDING wa_idocs TO wa_data.
CALL FUNCTION 'POS_SA_GET_DOCUMENT_STATUS'
EXPORTING
docnum = wa_idocs-docnum
mestyp = wa_idocs-mestyp
sndprn = wa_idocs-sndprn
TABLES
t_foldoc = t_foldoc
EXCEPTIONS
idoc_not_exist = 1
foreign_lock = 2
unknown_exception = 3
range_not_exist = 4
OTHERS = 5.
LOOP AT t_foldoc INTO wa_foldoc.
wa_data-objtype = wa_foldoc-objtype.
CALL FUNCTION 'SWO_TEXT_OBJTYPE'
EXPORTING
language = sy-langu
objtype = wa_foldoc-objtype
IMPORTING
keyword = l_descr.
wa_data-text = l_descr.
IF wa_foldoc-objtype = 'BUS2017'.
wa_data-name = wa_foldoc-key+0(10).
ELSE.
wa_data-name = wa_foldoc-key.
ENDIF.
APPEND wa_data TO lt_data.
ENDLOOP.
CLEAR: wa_foldoc.
REFRESH: t_foldoc.
CLEAR: wa_foldoc.
REFRESH: t_foldoc.
ENDLOOP.
ENDFORM. " FRM_GET_DATA
2. 效果
边栏推荐
- A Mobile Telematics Pattern Recognition Framework for Driving Behavior Extraction
- [論文翻譯] Generalized Radiograph Representation Learning via Cross-Supervision Between Images
- What are the requirements for docking with the third-party payment interface?
- 盘点 | 2022年上半年国内的电邮安全事件
- Complex network modeling (propagation phenomenon on the network)
- Mecol Studio - harmonyos second assignment
- 接手RN项目遇到的问题及解决 自用
- LeetCode 每日一题——814. 二叉树剪枝
- Rsync downlink synchronization +inotify real-time synchronization deployment
- [leetcode string -- string subscript sorting] 6121. Query the number with the smallest k after cutting the number
猜你喜欢
Switch and router technology: OSPF route redistribution, OSPF NSSA area and OSPF virtual link
UE4 将画刷制作的物体合并成一个整体
[JS] scope and scope chain
1143. 最长公共子序列
LeetCode 每日一题——814. 二叉树剪枝
高数_第2章多元函数微分学_隐函数的偏导数
A Mobile Telematics Pattern Recognition Framework for Driving Behavior Extraction
还有人不会这些数据分析小案例吗?一招教你招聘数据可视化~
Look at the steam education mode integrating mathematics teaching
UE4 将蓝图写在Actor类里面 实现复用
随机推荐
The Prospectus has written "yuancosmos" 318 times! Feitian Yundong fights Hong Kong stocks again "yuancosmos first share"“
How to solve the problem of win10? The app store cannot be opened, and the error code is 0x80131500
把握机器人教育朝AI智能化发展的趋势
CF1635F Closest Pair
[unity] the UI follows the 3D object, and the world coordinates turn to UI coordinates
How to write update set a= (select) in PostgreSQL?
ARC110F Esoswap
UE4 设置夜晚(根据DirectionalLight方向更新SkySphere)
CF1635F Closest Pair
Model compression, acceleration and mobile deployment
Mecol Studio - harmonyos second assignment
Fundamentals of action theory
立即执行函数 分号问题
What are the requirements for docking with the third-party payment interface?
A Mobile Telematics Pattern Recognition Framework for Driving Behavior Extraction
盘点 | 2022年上半年国内的电邮安全事件
AT1225 かかし
IBM的免费机器怎么装宝塔
UE4 地形工具的简单使用
arm64环境下,golang的第三方库hajimehoshi/oto依赖alsa-lib和cgo的解决方案