Ansicht
Dokumentation

CPCC_ES_FIND_TASK_LIST - Find Task List

CPCC_ES_FIND_TASK_LIST - Find Task List

ABAP Short Reference   BAL Application Log Documentation  
This documentation is copyright by SAP AG.
SAP E-Book

Functionality

This function module provide a list with all task lists of the selection criteria

Example

How to fill the selection criteria for task, material-/task allocation and the free selection criteria?

Here is an example:


REPORT z_wym_find_inspection_plan.

* global fields, declarations for EWB
* ================================================
INCLUDE fc27date.
INCLUDE cp_cs_const_message.

TYPE-POOLS: cc01,
cpsc,
cpcl,
cmcl,
czcl,
cssc,
cscl.

TABLES: plko,
mapl.

* zusätzliche Selektionsbedingungen
TYPES: BEGIN OF add_sel_type_lifnr,
sign(1),
option(2),
low LIKE mtk_class_data-lifnr,
high LIKE mtk_class_data-lifnr,
END OF add_sel_type_lifnr.

TYPES: BEGIN OF add_sel_type_kunr,
sign(1),
option(2),
low LIKE mtk_class_data-kunr,
high LIKE mtk_class_data-kunr,
END OF add_sel_type_kunr.

* Selektionsbedingungen der EWB
DATA: l_classes_in_workarea LIKE classes_in_workarea,
l_mtk_matnr_selection TYPE cpsc_matnr_type,
lt_mtk_matnr_selection TYPE cpsc_matnr_type OCCURS 0,
l_mtk_werks_selection TYPE cpsc_werks_type,
lt_mtk_werks_selection TYPE cpsc_werks_type OCCURS 0,
lt_mtk_free_where_selection TYPE rsds_twhere,
l_mtk_free_where_selection TYPE rsds_where,
l_tsk_plnty_selection TYPE cpsc_plnty_type,
lt_tsk_plnty_selection TYPE cpsc_plnty_type OCCURS 0,
l_tsk_plnnr_selection TYPE cpsc_plnnr_type,
lt_tsk_plnnr_selection TYPE cpsc_plnnr_type OCCURS 0,
l_tsk_plnal_selection TYPE cpsc_plnal_type,
lt_tsk_plnal_selection TYPE cpsc_plnal_type OCCURS 0,
l_tsk_vagrp_selection TYPE cpsc_vagrp_type,
lt_tsk_vagrp_selection TYPE cpsc_vagrp_type OCCURS 0,
l_tsk_verwe_selection TYPE cpsc_verwe_type,
lt_tsk_verwe_selection TYPE cpsc_verwe_type OCCURS 0,
l_add_sel_selection_lifnr TYPE add_sel_type_lifnr,
l_add_sel_selection_kunr TYPE add_sel_type_kunr,
l_tsk_selection TYPE cpsc_tsk_sel_type,
l_mtk_selection TYPE cpsc_mtk_sel_type.


DATA: lt_free_sel_where_tab TYPE rsds_where_tab,
ls_free_sel_where LIKE rsdswhere.
DATA: ls_expr_tab LIKE rsdsexpr,
lt_expr_tab TYPE rsdsexpr OCCURS 5,
ls_free_expr TYPE rsds_expr,
lt_expr TYPE rsds_texpr.
DATA: lv_s_lifnr_index LIKE sy-index,
lv_s_kunr_index LIKE sy-index.
DATA: lv_arity TYPE rsdsarity.

PARAMETERS:
p_plnty TYPE plko-plnty DEFAULT 'Q',
p_sttag TYPE plko-datuv DEFAULT sy-datum.

SELECT-OPTIONS:
s_matnr FOR mapl-matnr,
s_werks FOR mapl-werks,
s_plnnr FOR plko-plnnr,
s_plnal FOR plko-plnal,
s_vagrp FOR plko-vagrp,
s_statu FOR plko-statu,
s_verwe FOR plko-verwe,
s_lifnr FOR mapl-lifnr,
s_kunr FOR mapl-kunr.

START-OF-SELECTION.

* fill selection conditions - PLNTY
CONCATENATE 'I' 'EQ' p_plnty INTO l_tsk_plnty_selection.
APPEND l_tsk_plnty_selection TO lt_tsk_plnty_selection.
l_tsk_selection-plnty = lt_tsk_plnty_selection.

lt_mtk_matnr_selection[] = s_matnr[].
l_mtk_selection-matnr = lt_mtk_matnr_selection.
lt_mtk_werks_selection[] = s_werks[].
l_mtk_selection-werks = lt_mtk_werks_selection.
lt_tsk_plnnr_selection[] = s_plnnr[].
l_tsk_selection-plnnr = lt_tsk_plnnr_selection.
lt_tsk_plnal_selection[] = s_plnal[].
l_tsk_selection-plnal = lt_tsk_plnal_selection.
lt_tsk_vagrp_selection[] = s_vagrp[].
l_tsk_selection-vagrp = lt_tsk_vagrp_selection.
lt_tsk_verwe_selection[] = s_verwe[].
l_tsk_selection-verwe = lt_tsk_verwe_selection.

* Reihenfolge der erweiterten Selektionsbedingungen in alphabetischer Re
DESCRIBE TABLE s_kunr LINES lv_s_kunr_index.
DESCRIBE TABLE s_lifnr LINES lv_s_lifnr_index.

* prepare initial value for first line of ls_expr_tab
IF NOT lv_s_kunr_index IS INITIAL.
lv_arity = lv_arity + 1.
ENDIF.
IF NOT lv_s_lifnr_index IS INITIAL.
lv_arity = lv_arity + 1.
ENDIF.

IF NOT lv_arity IS INITIAL.
ls_expr_tab-logop = 'AND'.
ls_expr_tab-arity = lv_arity.
APPEND ls_expr_tab TO lt_expr_tab.
CLEAR ls_expr_tab.
ENDIF.

IF NOT s_kunr[] IS INITIAL.
DESCRIBE TABLE s_kunr LINES lv_s_kunr_index.
IF lv_s_kunr_index GT 1.
ls_expr_tab-logop = 'OR'.
ls_expr_tab-arity = lv_s_kunr_index.
APPEND ls_expr_tab TO lt_expr_tab.
CLEAR ls_expr_tab.
ENDIF.
LOOP AT s_kunr INTO l_add_sel_selection_kunr.
ls_expr_tab-fieldname = 'KUNR'.
MOVE-CORRESPONDING l_add_sel_selection_kunr TO ls_expr_tab.
APPEND ls_expr_tab TO lt_expr_tab.
CLEAR ls_expr_tab.
ENDLOOP.
ENDIF.

IF NOT s_lifnr[] IS INITIAL.
DESCRIBE TABLE s_lifnr LINES lv_s_lifnr_index.
IF lv_s_lifnr_index GT 1.
ls_expr_tab-logop = 'OR'.
ls_expr_tab-arity = lv_s_lifnr_index.
APPEND ls_expr_tab TO lt_expr_tab.
CLEAR ls_expr_tab.
ENDIF.
LOOP AT s_lifnr INTO l_add_sel_selection_lifnr.
ls_expr_tab-fieldname = 'LIFNR'.
MOVE-CORRESPONDING l_add_sel_selection_lifnr TO ls_expr_tab.
APPEND ls_expr_tab TO lt_expr_tab.
CLEAR ls_expr_tab.
ENDLOOP.
ENDIF.

IF NOT lt_expr_tab[] IS INITIAL.
MOVE 'MAPL' TO ls_free_expr-tablename.
MOVE lt_expr_tab[] TO ls_free_expr-expr_tab[].
APPEND ls_free_expr TO lt_expr.

CALL FUNCTION 'FREE_SELECTIONS_EX_2_WHERE'
EXPORTING
expressions = lt_expr
IMPORTING
where_clauses = lt_mtk_free_where_selection
EXCEPTIONS
expression_not_supported = 1
OTHERS = 2.
IF sy-subrc = 0.
l_mtk_selection-free_where = lt_mtk_free_where_selection.
ENDIF.
ENDIF.

Notes

Further information





Parameters

ET_MTK_CLASS_DATA
ET_RETURN
ET_TSK_CLASS_DATA
IS_CPSC_MTK_SEL
IS_CPSC_TSK_SEL
IT_RANGES_KUNR
IT_RANGES_LIFNR
IT_RANGES_MS_OBJECT
IT_RANGES_MS_OBJTYPE
IT_RANGES_SUCHFELD
IV_DATE_FROM
IV_DATE_TO
IV_MESSAGE_HANDLER

Exceptions

Function Group

CPCC_ES

ABAP Short Reference   General Data in Customer Master  
This documentation is copyright by SAP AG.

Length: 7370 Date: 20240523 Time: 113242     sap01-206 ( 51 ms )