cancel
Showing results for 
Search instead for 
Did you mean: 

Color coding Plnd/Prodn Orders on DS Planning Board

andy_yeri
Contributor
0 Kudos

Hi All,

Our products are configurable & we use class 400 on products in APO (SCM7.0). For a certain form of Products, it is possible we have atleast 4 different values to a characteristic called "XYZ". The values for this characteristic would be pre-defined as 1, 2, 3 & 4 & each Planned/Production Order will carry only 1 of these four values.. What we want is to be able to clearly identify Planned & Production Orders, by unique color coding, based on their respective values, on the DS Planning board.

Say, all Orders with char value "1" - Offwhite, those with "2" - Green & so on. We need to group such orders & sequence 'em in APO by the like characteristic values.

While I know the Planning Board profile offers config to set color coding based on orders, was wondering if I would have to use an enhancement to leverage this functionality to work for me, by characteristic value/s.

Any idea?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

frank_horlacher
Employee
Employee
0 Kudos

Hi Andy,

we have a configuration guide in our SAP Advanced Production Scheduling rapid-deployment solution.

SAP SCM Detailed Scheduling (S78)

There we describe how to color code the operations in the planning board based on the setup group.

I know that this is not exactly what you want but it can guide you half way through.

for characteristics the method

GET_ORDDATA of the BAdI /SAPAPO/CDPS_ORDDATA has

to be implemented and a field for the characteristics must be appended as CI_ORDCUS.

For this field the domain and

the data element have to be created.

CI_ORDCUS itself is part

of another structure

/SAPAPO/CDPS_ORDER_EXT_STR

Example BAdI
/SAPAPO/CDPS_ORDDATA. An example for the usage

of the
characteristic CBP_SIZE (taken from the output node of the order) is

listed here:

method
/SAPAPO/IF_EX_CDPS_ORDDATA~GET_ORDDATA.

DATA:
lv_charact_id TYPE /sapapo/mc01ch_id,

ls_gen_params
TYPE /sapapo/om_gen_params,

lv_simsession
TYPE /sapapo/om_simsession,

ls_exclude_exports
TYPE /sapapo/om_getdata_options,

lt_orders
TYPE /sapapo/om_ordid_tab,

lt_outputs
TYPE /sapapo/om_io_tab,

lt_val TYPE
/sapapo/om_charact_val_tab,

lt_rc TYPE
/sapapo/om_lc_rc_tab.

FIELD-SYMBOLS:
<ls_order> LIKE LINE OF it_orders,

<ls_output>
LIKE LINE OF it_outputs,

<ls_ord_ext>
LIKE LINE OF et_orders_ext,

<ls_val>
LIKE LINE OF lt_val.

* get internal ID of characteristic:

CALL METHOD
/sapapo/cl_mc01_ccv_struct=>charname_as_id

EXPORTING

ic_charname
= 'CBP_SIZE'

IMPORTING

en_charid =
lv_charact_id

EXCEPTIONS

OTHERS = 2.

CHECK
sy-subrc IS INITIAL.

LOOP AT
it_orders

ASSIGNING
<ls_order>.

APPEND
<ls_order>-orderid

TO
lt_orders.

ENDLOOP.
" AT it_orders

SORT
lt_orders.

DELETE
ADJACENT DUPLICATES

FROM
lt_orders.

* get charact. data of order output nodes from liveCache:

CALL
FUNCTION '/SAPAPO/RRP_SIMSESSION_GET'

IMPORTING

ev_simsession
= lv_simsession

es_gen_params
= ls_gen_params.

CLEAR
ls_exclude_exports WITH 'X'.

CLEAR:
ls_exclude_exports-get_charact_outnode.

CALL
FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'

EXPORTING

is_gen_params
= ls_gen_params

iv_simsession
= lv_simsession

it_order =
lt_orders[]

is_exclude_exports
= ls_exclude_exports

IMPORTING

*et_charact_val_acts =

*et_charact_req_inpnode =

et_charact_val_outnode
= lt_val[]

et_rc =
lt_rc[]

EXCEPTIONS

lc_connect_failed
= 1

lc_com_error
= 2

lc_appl_error
= 3.

CHECK
sy-subrc IS INITIAL.

SORT lt_val

BY object_id

object_type

position_no

line_no

charact_id.

* provide sorting value for orders from characteristics:

SORT
lt_outputs

BY orderid

position_no

line_no.

LOOP AT
et_orders_ext

ASSIGNING
<ls_ord_ext>.

* get output for order (assuming only 1 output):

READ TABLE
it_outputs

ASSIGNING
<ls_output>

WITH KEY
orderid = <ls_ord_ext>-ordid

BINARY
SEARCH.

CHECK
sy-subrc IS INITIAL.

* get characteristic value for output:

READ TABLE
lt_val

ASSIGNING
<ls_val>

WITH KEY

object_id =
<ls_output>-orderid

position_no
= <ls_output>-position_no

line_no =
<ls_output>-line_no

charact_id =
lv_charact_id.

CHECK
sy-subrc IS INITIAL.

<ls_ord_ext>-CBP_SIZE
= <ls_val>-quan_value.

ENDLOOP.
" AT et_orders_ext

endmethod.

In this example you can color code the by the field CBP_SIZE.

Best regards Frank


Answers (0)