0% found this document useful (0 votes)
7 views3 pages

PD AP Selection Criteria Issue Fix

The document describes an issue with selection criteria in the Process Director AP cockpit not working correctly for document statuses of posted and workflow rejected/partially rejected. It provides code corrections to fix the selection logic to properly filter documents based on status and workflow criteria.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

PD AP Selection Criteria Issue Fix

The document describes an issue with selection criteria in the Process Director AP cockpit not working correctly for document statuses of posted and workflow rejected/partially rejected. It provides code corrections to fix the selection logic to properly filter documents based on status and workflow criteria.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.
...

You might also like