取工作日历数据
当需要读取0007的日工作计划的时候可以使用到这个
TCODE:PT63
做法,将PT63的值直接取出来
LOOP AT LT_QUERYCONDITION INTO LS_QUERYCONDITION.
READ TABLE LT_PA0105 ASSIGNING <fs_pa0105> WITH KEY USRID = LS_QUERYCONDITION-WORK_EMAIL.
IF SY-SUBRC EQ 0.
LV_WORKSCHEDULE_BEGDA = LS_QUERYCONDITION-WORKSCHEDULE_BEGDA.
LV_WORKSCHEDULE_ENDDA = LS_QUERYCONDITION-WORKSCHEDULE_ENDDA.
CLEAR:LS_DATA,SEL_TAB.
CL_SALV_BS_RUNTIME_INFO=>SET(
DISPLAY = ABAP_FALSE
METADATA = ABAP_FALSE
DATA = ABAP_TRUE ).
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
CURR_REPORT = 'RPTPSH10'
TABLES
SELECTION_TABLE = SEL_TAB.
LOOP AT SEL_TAB ASSIGNING FIELD-SYMBOL(<FS_SEL_TAB>).
IF <FS_SEL_TAB>-selname = 'PNPBEGDA'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = LV_WORKSCHEDULE_BEGDA.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPENDDA'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = LV_WORKSCHEDULE_ENDDA.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR1'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = SPACE.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR2'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = SPACE.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR3'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = SPACE.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR4'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = SPACE.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR5'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = SPACE.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPTIMR6'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = 'X'.
ENDIF.
IF <FS_SEL_TAB>-selname = 'PNPPERNR'.
<FS_SEL_TAB>-sign = 'I'.
<FS_SEL_TAB>-option = 'EQ'.
<FS_SEL_TAB>-LOW = <FS_PA0105>-PERNR.
ENDIF.
ENDLOOP.
TRY .
SUBMIT RPTPSH10
WITH SELECTION-TABLE SEL_TAB
AND RETURN.
CATCH CX_ROOT INTO DATA(LV_CX_TOOR).
ENDTRY.
TRY.
CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF(
IMPORTING R_DATA = LS_DATA ).
ASSIGN LS_DATA->* TO <LT_DATA>.
MOVE-CORRESPONDING LS_QUERYCONDITION TO LS_WORKSCHEDULE.
LOOP AT <LT_DATA> ASSIGNING FIELD-SYMBOL(<FS_DATA>).
ASSIGN COMPONENT 'TPROG' OF STRUCTURE <FS_DATA> TO <FS_VALUE>.
IF <FS_VALUE> NE 'OFF'.
ASSIGN COMPONENT 'DATUM' OF STRUCTURE <FS_DATA> TO <FS_VALUE>.
ASSIGN COMPONENT 'TPROG' OF STRUCTURE <FS_DATA> TO <FS_VALUE>.
ENDIF.
AT LAST.
ENDAT.
ENDLOOP.
IF SY-SUBRC EQ 0 AND LV_TYPE NE 'E'.
LV_TYPE = 'S'.
LV_MESSAGE = TEXT-S01.
ELSEIF LV_TYPE NE 'E'.
LV_TYPE = 'E'.
LV_MESSAGE = TEXT-E04.
ENDIF.
CATCH CX_SALV_BS_SC_RUNTIME_INFO.
ENDTRY.
CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ).
ENDIF.
ENDLOOP.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架