Objectives

Process

Process Overview

Process in detail

Step 1: Project Creation / WebDynpro ZWD_INV_PROJ

Main View V_MAIN

Header part

Tabs

Tab 1: General attributes

Tab 2: Advanced attributes

Tab 3: Approval

Tab 4: Documentation nt

Application ZWDA_INV_PROJ_CREATE

Step 2: Project Update / Webdynpro ZWD_INV_PROJ_MULTI

Main View V_MAIN

Search Group

Investment project List Group

Main Window W_INV_PROJ_MULTI

Application ZWDA_INV_PROJ_MULTI

Specific treatments in update mode in component ZWD_INV_PROJ

First display

Project Copy

Enqueue / Dequeue

Display mode

Interactions with Forecast data entry part

Refresh data in Forecast entry part

Save data in Forecast entry part

Hide Forecast entry part

Update authorized amounts in attributes part

Step 3: Approval

Step 4: Authorized amounts and Forecast data entry

Portal Event management :

SCRIPT_COMMON

SCRIPT_ON_REFRESH :

SCRIPT_ON_SAVE

SCRIPT_ON_HIDE

SCRIPT_TOGGLE_DISPLAY

SCRIPT_RAISE_SAVE

Group_Item_1: Authorized Amount data entry screen:

Analysis_Item_1:

Infofield_Item_1:

Button_group_item_1:

SAVE:

Refresh :

Reset Change:

Split authorized amounts:

Switch to edit mode and Switch to read only mode:

Button_group_item_4

Group_Item_2: Forecast data entry screen:

Analysis_Item_3:

Analysis_Item_2:

Infofield_Item_2:

Analysis_Item_4:

Button_group_item_2:

SAVE:

Refresh :

Reset Changes:

VALIDATE & SAVE:

CAPEX Best Guess - Calculation:

Apply CAPEX Best Guess - Calculation:

Dataslice:

Authorized amounts:

Forecasts amounts:

Additionnal functionnalities

Function 1: Assistance Class ZCL_WDA_INV_PROJ

Method FILL_PLANT_ATTR, FILL_GBU_ATTR, FILL_REASON_ATTR, FILL_FUNDMOD_ATTR, FILL_STAGE_GATE, FILL_STS_DATES, FILL_GENREA_PER, FILL_ENV_ATTR, FILL_DEFAULT_VALUES, FILL_CPX_EXCL_ATTR

GET_MAPR_LIST

GET_APPROVER_LIST

GET_APPROV_LIST

GET_INVTYP_LIST

CHECK_AUTH

CHECK_BUNDLE_TXT

CHECK_PS_PROJ_EXISTS, CHECK_PS_PROJ_INV_PR

CHECK_PS_PROJ_MODIFIED

CHECK_SUBAXE

GET_GBU

GET_PLANT_VLSTRM, CHECK_PLANT_VLSTRM

GET_EMPTY_BUNDLE

GET_BUNDLE_TXT

GET_CURRENCY

GET_USER_TYPE

GET_INTERM_APPROV

GET_INTERM_APPROV_LIST

GET_PORTAL_ADDR

GET_PROJ

GET_WBS

GET_WBS_FROM_PROJ2

GET_WBS_LINKS

GET_WBS_OVS

IS_APPROVER

IS_DATA_FROZEN

UPDATE_LINKED_PROJECTS

Function 2: Assistance Class ZCL_WDA_MD_TOOLS

GET_COMP_ROLE

GET_TXT

SAVE_DATA

CHECK_ATTR

GET_NEXT_ID

GET_TXT_FOR_TABLE / GET_TXT_FOR_STRUC

ENQUEUE_MD / DEQUEUE_MD

SAVE_TABLE_DATA

CHECK_MD

GET_IOBJ_REF

GET_FIELDNM

GET_TXTTAB

GET_SIDTAB

GET_IOBJNM

GET_DTELNM

GET_TXTFIELD

GET_AUTH_VALUES

CREATE_RANGE_TABLE

GET_VALUE_LIST

SAVE_IT_DATA

DELETE_BI_DOC, READ_BI_DOC, WRITE_BI_DOC

GET_ATTRLIST

GET_DATE_FORMAT

CHECK_ATTR_EXISTS

GET_ATTRTAB

READ_CUBE

EXEC_PLSEQ

ENQUEUE_IP/ DEQUEUE_IP

ENQUEUE_MD/ DEQUEUE_MD

GET_COMPLIST

RESET_IPROV_CACHE

UPDATE_DSO/ DELETE_DSO

CONVERT_FIELD

CONVERT_AMOUNT_CURR

CONVERT_AMOUNT

UPDATE_MD

GET_TXTTAB_CONTENT

GET_KEY_LENGTH

GET_USER_EMAIL

SEARCH_LDAP

GET_USER_EMAIL_FROM_LDAP

IS_AUTH_RELEVANT

READ_IP_LOCKS

Function 2: Class ZWCA_CL_LDAP

CONSTRUCTOR

CONNECT

READ_ATTR

READ_USER

DISCONNECT

Main axis

Organisational axis

Plant axis :

GBU Axis :

Others organizational axes:

Time axis

Other axis

For Authorized amounts:

For Forecasts amounts:

For Actual data :

COLMAR Info Object Catalog:

COLMAR – Capital Investment Fields:

Reporting :

Access Policy and Authorizations

Data restriction

Authorization management:

Data retention

Data availability

Initialization procedure

Data Model

Data Model Description

InfoCube, Multiprovider, Agregation levels

Estimated data volumes






Design/Implement an application that:











All common method with other application of the COLMAR project are written in the assistance class ZCL_WDA_INV_PROJ that inherits from ZCL_WDA_MD_TOOLS class, which is a toolbox for all webdynpro of all projects.




The Main view is organized in different sections:



First, the header is the only part visible, then when all mandatory attributes in the header are filled, the user can display all other attributes.

Finally, when the project is fully filled, the user can use the “create” button to save the project. At this moment, the forecast entry is shown in a second portal iview in the same page.






The Header contains main attributes of a project, and actions on this project.

These attributes are mandatory before showing the rest of the attributes.

At application opening, the button “VALIDATE” (method ONACTIONVALIDATE)

is the only one visible. This button:


GBU, Plant, Investment Type and Reason of investment dropdown list boxes and the Bundle checkbox execute the method REFRESH that update other attributes and value list.








General attributes are organized in 5 groups in the first TAB.

Some attributes are deduced from the header attributes, so they are not input-ready.

Some attributes depend from one another, so BFCA 2, Value stream, Family, Planned flag and Funding mode dropdowns execute the REFRESH method that filters value lists for each attribute (same as in header part), 

In the Group MA_PR_GP, the project bundle attributes and the two CREATE_MASTER and CHANGE_MASTER buttons are displayed only if the check box is checked in the header part. That means that several project are bundled into one for forecast entry (see 2.1 section)

CREATE_MASTER and CHANGE_MASTER button open the window W_POPUP_MP to create or change the bundle and fill the external cost percentage (the POPUP_CREATE method of V_MAIN view manages the different popups of the application).

CREATE_GROUP button opens the W_POPUP_PG window to create reporting group.

In other groups we have mais project attributes:

Some attributes are not modifiable because they are deduces from another:


Project contributors attributes are email address. The search help (method ON_OVS) is based on LDAP search. The input is also checks at saving to ensure that email address exists in LDAP (method CHECK_LDAP and CHECK_CONTRIBUTORS).






Avanced attributes are relevant only for important projects, but are always shown.

The split percentage by general reason is also dynamic (method REFRESH and UPDATE_GENREA_PER)





The approval tab contains the approval status of a project. The value list in the dropdown list box depends on user authorizations and in DSO DPIPCO05 (method GET_APPROV_LIST called in UPDATE_VALUE_LISTS).

The approver dropdown list content is also given by authorizations in DPIPCO15 (GET_APPROVER_LIST method called in UPDATE_VALUE_LISTS).

The user can send and email to the approver(s) with the button ‘SEND_NOTIF’. The ‘mailto’ command is refreshed each time the user makes modifications on the interface (action SEND_NOTIF & method SEND_APPR_NOTIF). The mailto command is used with SOLIA url to enable SSO login on quality and production only. The distinction between the servers is made thank to SYSID field of SYST standard structure.

When the user change the approval status to approved for basic or final approval, a popup will suggest to send an automatic approval email, or to open the email to modify it before sending it (method SEND_AUTO_NOTIF).

The Authorized amounts displayed in this tab is read in CRIPCO02 cube (method GET_AUTH_AMNT). This value is stored in the investment project master data when approval status is approved for basic or fully approved.

Old authorized amount is displayed when the status is “Reapproval needed” (ID of master data RB or RF). It displays the value stored in the master data.

The Authorized amount for BS can be changed by the user until basic study approval, and there is no link with CRIPCO02 cube data for this amount. To get the data in the cube, the method GET_AUTH_AMNT calls standard function module RSDRI_INFOPROV_READ


When the approver sets the status to “Approved for basic”, if the field “basic study approver” is empty, it is filled with the email address of the connected user. The “BS approval date” is also filled with the current date if it is empty. The fields “basic study approver” and “BS approval date” are then in read only mode.

When the approver sets the status to “Fully Approved”, if the field “final approver” is empty, it is filled with the email address of the connected user. The “final approval date” is also filled with the current date if it is empty. The fields “final approver” and “final approval date” are then in read only mode.

When the forecaster or the approver sets the status to “Reapproval neeeded” after “Approved for Basic” status, the fields “authorized amounts for BS”, “basic study approver” and “BS approval date” are modifiable again.

When the forecaster or the approver sets the status to “Reapproval neeeded” after “Fully Approved” status, the fields “authorized amounts for BS”, “basic study approver” and “BS approval date” are still in read-only mode, but the fields “final approver” and “final approval date” are modifiable again.



The user can also add intermediate approvers for different Domain. By default, the intermediaite approvers in DPIPCO15 DSO are displayed here with their corresponding domain (method GET_INTERM_APPROV_LIST of assistance class. Then the user can add other validation, and the list of intermediaite validation are saved in DPIPCO12 DSO (method SAVE_APPR).

A validation workflow has been set up and automatic notification are also sent when intermediate validation are done (method SEND_AUTO_NOTIF).


The Amounts group contains others amounts that are saved as project attributes.




The user can write some comment about the project (SUMMARY and HISTORY comments)

The user can also link document (DOCLIST part) or add link to document database (LINKLIST part)

All these comments and documents are saved into KM as master data documentation.

The method GET_DOCS read KM to get existing docs and update webdynpro context.

The method SAVE_DOCS save documents stored in webdynpro context into the KM directory.

The method ONACTIONDELETE deletes selected document.

The windows W_POPUP_FILE and W_POPUP_LINK are used to chose the file to upload or enter the link of the documentation in external database, in order to link the document to the project (method ONACTIONUPLOAD_DOC and ONACTIONADD_LINK).

A size limit has been set to avoid having too big files upload. This file limit is stored in TVARVC parameter Z_MAX_FILE_SIZE and is read in WRITE_BI_DOC method of assistance class ZCL_WDA_MD_TOOLS.

Standard method cl_skwf_namespace_util=>url_part_valid is called in order to check if not allowed characters are in the filename. Not allowed characters are replaced by '_' in the file name.

The document ID in BW is limited to 40 characters and it is deduced from filename, so if two filename are identical for the first 40 characters, the second file uploaded will have a generated ID (function module SDOK_UNIQUE_ID_GET)





In this tab we have special attributes called “Capex Excellence fields.

Some are input-ready, others are deduced.

The rules for these determinations are contained in method UPDATE_CPX_EXCL_ATTR which is calling method FILL_CPX_EXCL_ATTR of the assistance class.






Approval status history is stored as KM document (as the ones in Documentation tab).

Each time the approval status is changed, a automatic comment is stored here with user, date, time and approval status

If approval status is Approved for basic or fully approved, the amount in local currency is also stored here.





The window manages the input and output with other application. In creation mode, the mode is set to ‘C’ in the application and the title is filled, the other parameters are not used. 





In creation mode, the mode is set to ‘C’ in the application and the title is filled, the other parameters are not used.




The update of a project is made through a project research interface. The webdynpro ZWD_INV_PROJ_MULTI contains search criteria and an ALV table for the results. It handle the navigation to each project detail page and forecast entry part. The webdynpro component for the detail update is the same as in creation (ZWD_INV_PROJ).







The search criterion are listed here. All are input field with standard search helps. When the ID does not mean anything for the user, a textview element is inserted and filled automatically by method REFRESH_TEXTS.


The user clicks on search button to get projets corresponding to the search criterion and corresponding to user’s authorizations (method ONACTIONSEARCH). The projects with “deleted” status are not shown in the list. It also gets all description needed to output the project list in an understandable way for the user.





The result of the search is displayed thanks to standard Webdynpro ALV component SALV_WD_TABLE. The configuration of this ALV is made in the method ONACTIONSEARCH.

The result also displays the authorized and forecast amounts in the table for each project (method GET_AMOUNTS).

Then the user can select a single project (the method CHECK_ONLY_ONE_SELECTED verify that only one line is selected) and either: 


When going to detail or forecast, IP locks are read in order to warn user if someone is on the same project (method READ_IP_LOCKs of assistance class called in FIRE_REFRESH method of the view V_MAIN. If IP lock is found, a popup in shown with email adress of the user that locks the project (window W_POPUP_LOCK).

The user can also select one or several project and delete it. The method ONACTIONDELETE opens a popup to confirm the deletion. If the deletion is confirmed, the method ONACTIONDELETE_PROJECT is executed and it runs SQ_COLMAR_019 planing sequence to delete forecast amounts and authorised amounts. The approval status in the master data is set to ‘XX’ in order to flag the project as deleted.

Special case of project bundle: if a linked project is deleted, but the bundle has other projects linked, the forecast amounts of project bundle is not deleted. If every linked project is deleted, the forecast amounts of the project bundle are also deleted. The method GET_EMPTY_BUNDLE of the assistance class handles this special case.

The forth button available to the user allows to cancel the selection made by the user.

The last button allows the user to make project attibute mass modification (method ONACTIONATTR_CHANGE). The popup W_POPUP_ATTR is displayed with attributes that are available for mass modification. The user can make several modification at once with button “add modification” (method ONACTIONADD) When the user choises the attribute to modify, the method ONACTIONUPDATE_VALUES loads possible values of the attribute. The method ONACTIONUPDATE_ATTR of V_MAIN view is called at popup closing in order to validate and save projects attribute modifications.





We can see here how the navigation between the webdynpro component is made:





The only parameter here is the title of the application:




The method WDDOMODIFYVIEW shows directly all the attributes of the projects (method GET_PROJ), hides the buttons VALIDATE and CREATE, update all value lists (UPDATE_VALUE_LISTS), and get documents (GET_DOCS). It also displays the Forecast entry part if it is not yet displayed (FIRE_PORTAL_EVENT method).




The user can copy a project to create a new project. First a popup with window V_POPUP_COPY is shown via method ONACTIONPOPUP_CREATE and then the method ONACTIONCOPY is executed. It first checks than the project does not exist (method CHECK_PS_PROJ_EXISTS) and then the new project is saved (method SAVE_PROJ) and finally the forecast entry part is refreshed (method FIRE_PORTAL_EVENT).




The project is enqueued (method ENQUEUE) to avoid having two users on the same project at the same time. The project is dequeud (method DEQUEUE) when the users goes back to project list




Depending on the authorisations (method CHECK_AUTH that reads DPIPCO15 DSO), the project can be shown in display mode only, or in update mode. The Non-PS projects are always shown in display mode, the only way to update a non-PS project is the mass upload and the mass entry workbook.




The interactions between Webdynpro application and Web Application are handles in FIRE_PORTAL_EVENT method. This uses portal eventing. Three different events are handled




This event is triggered when:


The parameters given to the application are:




This event is triggered when 


The parameters given to the application are:





This event is triggered when the user comes back from project detail to project search screen. No parameter is needed here.




This event is triggered when the user saves authorized amount or forecast data in the WAD. No parameter is needed here. The method SUBSCRIBE_EVENT in the webdynpro subscribe the event and action REFRESH_AUTHAMT is called when event is triggered.





When the user send an email to the approver (see 2.2.1.1.2.3), it contains a link to the portal page COLMAR_INV_PROJ_VALID. It contains the application ZWDA_INV_PROJ_VALID and the forecasts and authorized amounts in display mode. The approver can click on this link and reach directly the Approval tab with approval status and authorized amount. This is made thanks to the ‘V’ mode set in the application parameters:




The WAD used for Authorized amount sand Forecast data entry is WT_ENT_COLMAR_0001.

This WAD is included in a Portal Page.

The Container Layout called “ALL” is hidden by default.


This container layout is set to Visible due to a Portal Event raised in the WebDynPro application  and handled in the WAD application using Java Scripts (see script item SCRIPT_ON_REFRESH).


This WAD is divided into two tabs:






There are 3 Java Scripts in the WAD that receives the portal event from the WebDynPro application :





This script item contains common script functions that are called in other script item : Exec_Save, Exec_Validate and Exec_Refresh.

Exec_Refresh contains the following actions:


Exec_Save contains the following actions:

Exec_Validate contains the following actions:




This script item contains two functions:  onRefresh and Exec_Seq.

The function onRefresh get three parameters from the WebDynPro application to the WAD WT_ENT_COLMAR_0001 :

It calls function Exec_Seq with those parameters and if DP_LAST_VALID_BY is emtpy it calls toggleDisplay function in order to hide DP_LAST_VALID_BY.

The function Exec_Seq refreshes the WAD:





This script item contains two functions :  onSave and Exec_Seq2.

The function onSave is used in order to launch the data save in the WAD when the user click on the “save” button in the WebDynPro application. It executes :


The function Exec_Seq2 inherits the webdynpro parameters:


This scripts executes:





This script is used in order to hide the WAD when the user clicks on the “Back To list” button in the WebDynPro application.




This script hide DP_LAST_VALID_BY when no data is available.




Depending on the currency choise (input in EUR of local currency) made with BUTTON_GROUP_ITEM_4 or BUTTON_GROUP_ITEM_5 actions, the refresh, save and validate buttons in BUTTON_GROUP_ITEM_1 and  BUTTON_GROUP_ITEM_3 will react in a different way. There are six functions :




Authorized Amounts management part:

Authorized amount are entered in the system at the Investment Project level.


The GROUP_ITEM_1 contained a Container layout Item “Container_layout_2” which contained the following components:





The main Data Provider used for Authorized amounts is:



The value of the variable V_C_MA_PR_0001 is inherited from the parameters of the webdynpro application.

In case of a selection of a project that is included in a project bundle, the list of all the project linked to the bundle is determined by the variable V_C_INV_PR_0001 .

The currency is determined by an exit variable that collect the currency from the Master Data Plant (Company currency) – V_0CURRENCY_0001 .





The infofield item is filled by using the query filter for the project bundle (C_INV_PR__C_MA_PR):





This button group contains the following component:





Script function execute_SAVE_and_RAISE or execute_SAVE_and_RAISE_EUR depending if the input is in EUR or local currency




Script function execute_REFRESH_and_RAISE or execute_REFRESH_and_RAISE_EUR depending if the input is in EUR or local currency




This button allows the user to get back to the last “Save” and discard all the changes done in the authorized amounts.




The button “Split Authorized Amount” allow the user to split the data already entered at the Global level at the quarter / year level:


Filter

Function

Description

F_ALIPCO04_001

PF_ALIPCO04_001

COLMAR - split auth amount on quarters

F_ALIPCO04_002

PF_ALIPCO04_003

COLMAR - copy data on quarter # for years >=Y+2

F_ALIPCO04_003

PF_ALIPCO04_004

COLMAR - delete auth amount data









In the example below, the forecast value has been splitted to 11 quarters :


Before  :

After  :

This button does not save the data. This allows the user to get back if needed.




Allows the user to switch to read only mode and let another use to update amounts.





These two buttons allow the user siwtching between entry in EUR of local currency. Data providers are updated with queries in EUR BW_QRY_ALIPCO01_0003 and BW_QRY_ALIPCO02_0006 or query in local currency BW_QRY_ALIPCO01_0001 and BW_QRY_ALIPCO02_0001. Buttons items are also updated because the save, refresh and validate action will react in a different way (see SCRIPT_RAISE_SAVE )




Forecast Data entry management part:

Forecast data are entered in the system at the Project Bundle level.

This means that in case of using a project bundle which contains several investment project, there are authorized amounts for each investment project and only one forecast for all the projects.



The GROUP_ITEM_2 contained a Container layout Item “Container_layout_item_3” which contained the following components:






The Data Provider used for this analysis item :



The value of the variable V_C_MA_PR_0001 is inherited from the parameters of the webdynpro application.

The currency is determined by an exit variable that collect the currency from the Master Data Plant (Company currency) – V_0CURRENCY_0001 .





The Data Provider used for this analysis item:



The value of the variable V_C_MA_PR_0001 is inherited from the parameters of the webdynpro application.

The currency is determined by an exit variable that collect the currency from the Master Data Plant (Company currency) – V_0CURRENCY_0001 .




The infofield item is filled by using the query filter for the project bundle (C_MA_PR):





The Data Provider used for this analysis item:



The value of the variable V_C_MA_PR_0001 is inherited from the parameters of the webdynpro application.





This button group contains the following components:






Script function execute_SAVE_and_RAISE or execute_SAVE_and_RAISE_EUR depending if the input is in EUR or local currency




Script function execute_REFRESH_and_RAISE or execute_REFRESH_and_RAISE_EUR depending if the input is in EUR or local currency




This button allows the user to get back to the last “Save” and discard all the changes done in the authorized amounts.




Script function execute_VALIDATE_and_RAISE or execute_VALIDATE_and_RAISE_EUR depending if the input is in EUR or local currency




The button “CAPEX Best Guess - Calculation” allows the user to launch the CAPEX Best Guess Calculation:


Filter

Function

Description

F_ALIPCO07_001

PF_ALIPCO07_001

COLMAR – CAPEX Best Guess - Calculation





The sequence SQ_COLMAR_020 is executed as in “refresh” button.




The button “Apply CAPEX Best Guess” allows the user to recover the CAPEX Best Guess Calculation for CAPEX Forecast:


Filter

Function

Description

F_ALIPCO07_002

PF_ALIPCO07_003

COLMAR - Delete CAPEX data

F_ALIPCO07_002

PF_ALIPCO07_002

COLMAR - Apply Best Guess on CAPEX











The Authorized amounts process is linked to the Investment Project (C_INV_PR) status.

When the investment project has the status “Fully Approved”, the Authorized amounts for this project won’t be modified.

By using new exit variable process, an exit variable allows to set up the dataslice for the specific query mentioned above: 





The Forecast data entry process is not linked to the project status. It is linked to the real events on this project (Project Bundle – C_MA_PR).

The process allows modifying the forecasts data for the actual quarter and the futures quarters.

That’s why a dataslice has been built in order to do not allow modification on Quarter - 1 and before.

By using new exit variable process, an exit variable allows to set up the dataslice for the specific query mentioned above: 


In order to determine the opened quarter, the program looks at the DSO DPIPCO07 – Pilot Table which could determine if the application is opened.

Then if yes, the quarter defined in this pilot table is used in order to determine the period locked and the period opened for data entry.

If not, everything is locked.






Fill dependant attributes of a project to ensure integrity with other master data.



This method gives the list of project bundle available for a project. Project Bundle and project have common attributes, this method ensure the alignment between project and bundle.



Fill the approver dropdown thanks to authorization data in DPIPCO15.



Fill the approval status dropdown thanks to DPIPCO05 DSO



Fill the Investment type dropdown thanks to authorization data in DPIPCO15



Check authorisations in DPIPCO15



Check if Bundle description is already used by another bundle



Verify that the PS project exists in master data C_INV_PR



Checks if the PS project has been modified



Checks if GBU and Subaxe attributes are consistent



Deduce GBU from BFCA 1 or 2 (useful for upload)



Gets Plants/BFCA 2/Value stream from DSO DPIPCO02



Check if the bundle linked to the projects in input of the method have still other non-deleted project linked. If it is not the case, the bundle is added to the list of the project to delete



Get bundle description.



Gets currency from attribute C_CPCRCY of C_PLANT



This method determines if the user is an administrators of the application (users that have ZC_RCS_COL_C01 or ZC_RCS_COL_C02 PFCG role). These users can change everything on the screen.



This method get the list of intermediate approval saved for a project.



This method get the default list of intermediate approval depending on the GBU, Plant, Zone and investment type.



This method get the portal addess from RSPOR_T_PORTAL table.



This method get the project attribute in C_INV_PR master data from PS project ID or Invesment project ID.



This method get the list of WBS element in C_WBS_EL2 master data corresponding to a list of project.



This method get the list of WBS element in C_WBS_EL2 master data corresponding to a list of project definitions.



This method get the list of WBS element linked to a project saved in DPIPCO14 DSO.



This method get the list of WBS element in C_WBS_EL2 master data corresponding to a list of project definition, group, family or GBU. This method is used in webdynpro search help when the user makes manual links.



Check in table DPIPCO15 if user is approver of not depending on the level in input (Intermediaite of final approver). 



Check in table DPIPCO07 if data are frozen



For attributes that are common to the bundle and all linked projects (C_FORECAS, C_CPXAUTO and K_EXTCPER), this method align the master data. For example if the user change the forecaster on one project, this method will also update the project bundle and every project linked to it.



Get list of composite role for a user



Fill the textview UI element thanks to data in input field. It uses webdynpro context nodes of ID and Texts



Save data of a context node with cardilality 1..1 in BW master data



Check the values for attributes (no creation allowed on attributes)



Get the next ID in SNRO range. The link between SNRO ranges and infoobject is made in C_IOBJNM infoobject.



Same as GET_TXT method but only of a table or a structure and not for a context node



Magane locks for master data maintenance



Same as SAVE_DATA but for a context node with cardinality 1..n



Check that the ID exists in master data



Get reference infoobject



Get fieldname from infoobject name



Get text table for an infoobject



Get SID table for an infoobject



Get Infoobject from fieldname



Get data element from infoobject



Get text field from infoobject



Read RSECADMIN thanks to standard function module RSSB_GET_AUTH_FOR_USER



Create a dynamic range table (useful in others method)



Get value list available for an infoobject



Same as SAVE_TABLE_DATA but for an internal table



Manage KM Master data documents.

A size limit has been set to avoid having too big files upload. This file limit is stored in TVARVC parameter Z_MAX_FILE_SIZE and is read in method WRITE_BI_DOC.



Get list of attributes for an infoobject



Get date format for current user (useful in upload)



Check that an attribute exists in an infoobject



Get table of attributes



Read data in a cube



Execute an IP planning sequence



Manages IP locks



Manages MD locks



Get compounds attributes for an infoobject



Reset cache for an infoprovider



Update Direct input DSO



Convert input field in internal format (useful in upload)



Convert amount with currency taking info account special decimals customizing in TCURX



Convert amount in entry with special factor. For example when user uploads amounts in KEUR



Update master data only for infoobjects without attributes.



Get content of text table



Get length of master data key (infoobject + compounds)



Reads USR21 and ADR6 tables to get email for a user



Get LDAP server parameters in ZIP_LDAP_PARAM table and then uses ZWCA_CL_LDAP class to search emails in LDAP server



Get email in LDAP from username. This assume that SAP username and LDAP username are the same.



Checks if infoobject is authorization relevant



Checks if o cube is locked for a infoobject value.




This class provides the methods to search in LDAP server



Creates an instance with LDAP connexion parameters



Connect to LDAP server with given parameters



Makes LDAP search and retrieve asked attributes for each entry corresponding to the filter in parameter.



Makes LDAP search with a filter on user name only.



Disconnect from LDAP server








The two main organizational axes used in COLMAR application are Plant and GBU.




Master data for Plant axis is C_PLANT (Compound with Source System – Log Sys.).

From Plant axis, the following organizational axis could be determined:


All these axes are inherited from C_PLANT master data as they are defined as Plant attributes.

The currency used for data entry is the Company currency which is also an attribute of the master data C_PLANT : C_CPCRCY.




Master data for GBU axis is C_BFCA_4 (Compound with Source System – Log Sys.).

In order to not used the profit center hierarchy in order to read retrieve GBU information and related one, it was decided to derived new objects from the Profit Center Hierarchy:


From GBU axis selection, the following field are determined:





Note that the following elements are also maintained in COLMAR application.


A table is also maintained using the Master Data Maintenance in order to link the Activity 2 (CGU) to the value stream and the plant also : DPIPCO02.

This means that Plant selection is determined from the GBU selection also using Activity 2 link.

See below an example of filtering data in the interface:

https://docs.google.com/a/solvay.com/presentation/d/1omPDKrKV_FVxeJaWOm26vwR5m4wbx8Dt9Rc4F81HxUk/edit?usp=sharing




The main time axis for COLMAR application is the quarter.

Quarter is available (displayed or for data entry) from Y-1 to Y+1 for Authorized amounts and Forecasts amounts.

From Y+2 to Y+6 and after, data are entered at year level.

For actual data, the time axis is the month. These data are aggregated by quarter.




Others main axes are the following:













On the WBS Element C_WBS_EL2, some attributes of Investment Project are shared in order to allow comparison between Forecast, Authorized Amounts and Actual data :





https://docs.google.com/spreadsheet/ccc?key=0Au5tQS0w_ujCdDlBeDVkRjM1YXJGekpfSUhlS1k2N0E&usp=sharing




https://docs.google.com/a/solvay.com/spreadsheet/ccc?key=0ArovTQOFe4Q9dEdya1ZockhfenNOdEpmZUROUFFXOVE&usp=sharing




https://docs.google.com/a/solvay.com/spreadsheet/ccc?key=0Ao0M56XnKclndExlTldrVldCMDN6ck1ta3lZeXgyeWc&usp=drive_web#gid=2










Please refer to the following documentation:

https://docs.google.com/a/solvay.com/spreadsheet/ccc?key=0ApW2NRq1L3CVdEt6djRNOTNlYXctVlJPeWVJeUpCRmc&usp=sharing





Refer to the Quick Sizer documentation:

https://docs.google.com/a/solvay.com/presentation/d/13P91E6slXWbhHdIvhF_6y9GiMaL-N0pR4yuhtNo9aGQ/edit?usp=sharing




To initialize the COLMAR application, please refer to the following documentation: Colmar Application Administrator Guide .






Refer to Data Model documentation:

https://drive.google.com/file/d/1USw1Cgv62VlpJhuc5gVVF-EiHUsXSaJn5Y9-V9aqzjE/view




Refer to the Quick Sizer documentation:

https://docs.google.com/a/solvay.com/presentation/d/13P91E6slXWbhHdIvhF_6y9GiMaL-N0pR4yuhtNo9aGQ/edit?usp=sharing