PROCESS DIRECTOR AP - Pre-correction note
======================================
Number : 1894317
Subject : Selection criteria in PD AP does not work correctly for status
posted & WF rejected/partially rejected
Component: [ ] PROCESS DIRECTOR
[X] PROCESS DIRECTOR AP
[ ] INVOICE COCKPIT
[ ] WORK CYCLE
[ ] EDI COCKPIT
[ ] ANALYZER
[ ] MOBILE APPROVAL
[ ] WEB BOARD
[ ] INFO MAIL
[ ] REPORTER EXTRACT
Available with
version : PDAP 7.12, PDAP 7.11 SP1, PDAP 7.10 SP3, PDAP 7.9 SP5
Requires
version : All supported versions
Description
===========
After updating PD AP 7.9 SP1 to SP3 there are now wrong selection results
in /cockpit/1.
When you select all options for "Document status" all documents are shown
depending on the selection options.
But when you deactivate e.g. the option "Posted / In workflow" only the
documents in status "Unposted / In workflow"
and documents which were in a workflow before are getting shown.
Pre-corrections
===============
1) Go to transaction SE37 and enter Function Module
"/COCKPIT/DB_HEADER_GET_MLT".
2) Go to the Form "postselect_twc"
3) Delete line:
...
SELECT invoice_guid doc_status wc_status wc_duedate wc_ch_timestamp
FROM /cockpit/twc
INTO CORRESPONDING FIELDS OF TABLE lt_twc
FOR ALL ENTRIES IN ct_header
WHERE invoice_guid = ct_header-invoice_guid.
LOOP AT ct_header.
li_index = sy-tabix.
>>>> INSERT
* 1st: document was selected with status on left side,
* but with no further restrictions for wc status
IF ( ct_header-status = con_status_new OR
ct_header-status = con_status_error OR
ct_header-status = con_status_processed OR
ct_header-status = con_status_refused OR
ct_header-status = con_status_sent_to_pd OR
ct_header-status = con_status_ciincomp OR
ct_header-status = con_status_cicomp ) AND
( i_sel_wc_approved = con_false AND
i_sel_wc_part_appr = con_false AND
i_sel_wc_rejected = con_false AND
i_sel_wc_recalled = con_false AND
i_sel_wc_infosend = con_false AND
i_sel_wc_noticed = con_false ).
CONTINUE.
ENDIF.
* 2nd: fast entry document will be never in WEB CYCLE
<<<< INSERT
<<<< DELETE
* fast entry document will be never in WEB CYCLE
>>>> DELETE
IF ct_header-status = con_status_fast_entry.
CONTINUE.
ENDIF.
READ TABLE lt_twc WITH KEY invoice_guid = ct_header-invoice_guid.
IF sy-subrc NE 0.
** no doc_status matched -> delete, not selected
>>>> INSERT
DELETE ct_header INDEX li_index.
<<<< INSERT
CONTINUE.
ELSE.
IF ct_header-status = con_status_webcycle.
IF ( i_sel_stat_wc = con_true AND
i_sel_stat_wc_posted = con_false AND
lt_twc-doc_status NE con_status_new AND
lt_twc-doc_status NE con_status_error AND
lt_twc-doc_status NE con_status_ciincomp ).
* delete processed web cycles, if only unprocessed are selected
DELETE ct_header INDEX li_index.
CONTINUE.
ELSEIF ( i_sel_stat_wc = con_false AND
i_sel_stat_wc_posted = con_true AND
lt_twc-doc_status NE con_status_processed AND
lt_twc-doc_status NE con_status_cicomp ).
* delete unprocessed web cycles, if only processed are selected
DELETE ct_header INDEX li_index.
CONTINUE.
ENDIF.
>>>> INSERT
IF i_sel_wc_send = con_false AND
i_sel_wc_work = con_false AND
i_sel_wc_recalled = con_false AND
i_sel_wc_overdue = con_false.
* no wc status on right side -> display
CONTINUE.
ENDIF.
<<<< INSERT
ENDIF.
IF NOT lt_twc-wc_status IN i_selopt_wc_status.
* delete documents with unselected status
DELETE ct_header INDEX li_index.
CONTINUE.
ENDIF.
...