61
SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc SAP ADHOC Tasks during Upgrade to ECC 6.0 Date: 14 Oct, 2009

SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

Embed Size (px)

Citation preview

Page 1: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

SAP ADHOC Tasks during Upgrade to ECC 6.0

Date: 14 Oct, 2009

Page 2: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Table of Content

1 Matchcodes 3 2 Workflow 14 3 Workflow Issues 30 4 Searchhelps 32 5 System Ids 38 6 Table Maintenance Generation 39 7 WebGUI ITS 42 8 Pooled Tables (in reference to Matchcodes) 49

Page 3: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

1 Matchcodes

Matchcodes: Matchcodes are an SAP technique to help users find information, normally in connection with the F4 key on an input field. Information from one or more Tables can be combined and queried on using various search criteria: for Example, all companies whose name starts with "LEVI" and whose location is "San Francisco." Since match codes are non Unicode compliant, are converted to Search helps in ECC 6.0. Steps to replace Custom Matchcodes in ECC 6.0 In DE2 (040):- Goto SE11 Utilities Other Dictionary Objects

Enter the Matchcode object name and display

Page 4: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 5: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Display matchcode Ids one by one by pressing F6 as above

Check the pooled table used as this needs to be replaced and also the Matchcode Id ZZRE-0 which needs to be replaced in ECC 6.0.

Page 6: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 7: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 8: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Goto SE11 searchhelp create Collective Searchhelp as the ZZRE same name as matchcode object

Page 9: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Enter Searchhelp parameter

Include all elementary Searchhelp (same name as Matchcode Ids after creation)

Page 10: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Replace the Pooled table with the view.

Enter the same selection condition as used in Matchcode Id

Page 11: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Standard Matchcodes:

Page 12: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

This comes under SPAU activity: The Transaction is SPAU:

Page 13: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 14: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

2 Workflow

After OLD system copied to NEW, please compare event type linkages entries in OLD and NEW and also verify customized workflow templates. This case SUET tool is very much useful as this gives the list of all objects available in the system. This way we can trace out all custom tasks and custom WF templates. We need to compare each of those with the old system. If they are fine then please check SWU3 settings in new and make sure the settings are fine. If the systems are not in sink with each other with respect to Workflows, then we need to create a separate transport by coping all workflow relates tasks, workflow templates and relation entries. We no need to bother about Objects pertaining to Workflows, as they copy as usual like other objects. We only need to bother about tasks, templates and event linkages. Earlier we started by comparing DE2 and RE2 and then later XXXXX has decided to compare EF2 and RI1 with simulation system and perform the synchronization activity. Extract List of SUET Tool for workflow for PF1 and PI1 and then for Compare the list of SUET tool for EF2 and RI1. SWE2: Comparison between EF2 and SF1, also between RI1 and SI1. Need to make these event type linkages as per SF1 and SI1 in EF2 and RI1. Eventually add/update the common ones in RE2 also which are missing accordingly and also associated FMs.

Page 15: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 16: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 17: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 18: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 19: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 20: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 21: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 22: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 23: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 24: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 25: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 26: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

SWU3: Comparison between EF2 similar to SF1 and RI1 similar to SI1. SWU3: Needs to be maintained by Basis consultants. Eventually add/update the common ones in RE2 also which are missing accordingly. The mandatory ones are:-

Page 27: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Maintain Runtime Environment

---Configure RFC Destination ---Maintain Workflow System Administrator ---Maintain Active Plan Version ---Classify Decision Task as General ---Document Generation/Form Integration ---Maintain Time Units

Maintain Definition Environment

---Maintain Prefix Numbers ---Check Number Ranges

Maintain Additional Settings and Services

---Maintain Standard Domain for Internet Mail ---Maintain Demo and Verification Environment Classify Tasks as General Provided we are using IDOC with customizing workflows then mandatory ones are the following:- ---Test Workflows ---Customizing with Workflow ---Unit Test ---IDoc Interface

Guided Procedures

---Maintain Generation of Standard Tasks

---Classify Generic Standard Tasks as General

Page 28: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

UPGRADEWF.pdf

Page 29: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Obj Type Object ID Status TS 99900489 Does not exist in RE2 TS 99900490 Does not exist in RE2 TS 99900493 Does not exist in RE2 TS 99900494 Does not exist in RE2 TS 99900495 Does not exist in RE2 WS 99900606 Does not exist in RE2 WS 99900663 is available in RE2 WS 99900664 is available in RE2 WS 99900665 is available in RE2 WS 99900666 is available in RE2 WS 99900667 Does not exist in RE2 WS 99900668 Does not exist in RE2 WS 99900669 is available in RE2 WS 99900670 is available in RE2 One Missing workflow task is still there after analysis which is pending at XXXXX side if they require it or not in RE2. Task TS 91007857 :Buchhaltungsbeleg anzeigen neither in RE2 nor in DE2.Since this was there in the SUET report for PF1.It needs to be checked explicitly in PF1 system .Please confirm if this is required or not. SWFDEVTYP : Table checked in RE2 for any custom Receiver Function Module Agent assignment check should be maintained/green for non background task in the workflow which needs to be transported in RE2 and EF2 and RI1. Triggering events both Workflow and Task- should be green before we transport it to RE2 SWETYPECOU: Table in DE2 (4.6c) checked for entire custom workflow related FMs and event linkages and also then with RE2 (ECC 6.0). And after copy, we should ensure the given Objects refer to new tables SWFDEVTYP, SWFDEVENA. SWFDEVINST for the customized Receiver FMs maintained in SWE2 should also be verified. Finally we should also ensure that Function Module SWW_FI_START to trigger workflow should be replaced by SAP_WAPI_START_WORKFLOW in the programs and related objects. Business objects activation i.e. making it Unicode compliant is very much necessary. Goto UCCHECK and enter the BO name and then also check the flags:- Check only programs where the Unicode flag is unchecked And finally select that object and then click on set the Unicode attributes button and it will prompt for the request, then save it.

Page 30: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

3 Workflow Issues

Workflow Issues while upgrading from 4.6C to ECC 6 Error 1: SWW_FI_START used to trigger workflow directly through ABAP program in 4.6c does not exists in ECC6. Solution 1. FM 'SWW_FI_START' is replaced by 'SAP_WAPI_START_WORKFLOW' in ECC 6. For replacing function Module SWW_FI_START: *{ REPLACE RE2K902131 *\ CALL FUNCTION 'SWW_FI_START' *\ EXPORTING *\ creator = wc_creat *\ task = 'WS99900099' *\ TABLES *\ wi_container = wt_cont ** Begin of Changes - 46C To ECC6 - IN9ASINGH data : Z_TASK type SWR_STRUCT-TASK, WI_ID LIKE SWR_STRUCT-WORKITEMID, Z_RC type SY-SUBRC. * Specify workflow to be triggered Z_TASK = 'WS99900099'. * Start notification workflow CALL FUNCTION 'SAP_WAPI_START_WORKFLOW' EXPORTING TASK = Z_TASK IMPORTING RETURN_CODE = Z_RC WORKITEM_ID = WI_ID TABLES INPUT_CONTAINER = wt_CONT. ** End of Changes - 46C To ECC6 - IN9ASINGH *} REPLACE Also data type of input container wt_cont is also different in ECC6 So change the data type of wt_cont *{ REPLACE RE2K902081 3 *\DATA: wt_cont TYPE STANDARD TABLE OF swcont, *\ wg_cont TYPE swcont, *\ wc_creat LIKE swwwihead-wi_creator, ** Begin of Changes - 46C To ECC6 - IN9ASINGH DATA: wt_cont TYPE STANDARD TABLE OF swr_cont, * wg_cont TYPE swr_cont, wg_CONT LIKE LINE OF wt_CONT, wc_creat TYPE SYUNAME, ** End of Changes - 46C To ECC6 - IN9ASINGH *} REPLACE

Page 31: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

And also delete the lines from program, if exists, as tab_index, elemlength and type is no longer in structure of wt_cont. *{ DELETE RE2K902131 1 *\ wg_cont-tab_index = 0. *\ wg_cont-elemlength = 6. *\ wg_cont-type = 'N'. *} DELETE wg_cont-value = p_reqnr. APPEND wg_cont TO wt_cont. Error 2: In both the systems (4.6c and ECC6), after processing of work item by any of the recipient, it has been rejected and removed from all the inboxes. So there is no need to reject the work item explicitly. Though it is not needed it is performed in one of the custom program using function module 'SAP_WAPI_REJECT_WORKITEM' Now in 4.6C, usage of this function module does not cause any problem. But in ECC6, after processing of work item, when standard tries to reject it, it found that it has been rejected earlier (as in the above program using function module), it displays a message "Status from Completed to Error cannot be performed" This message in ECC 6 comes from class CL_SWF_RUN_WIM_EXECUTION_MGR which does not exists in 4.6c. Solution: Remove the function module 'SAP_WAPI_REJECT_WORKITEM' from the custom program. Standard would do it anyways. Error 3: Not able to open the Workflow builder of one of the workflow after transporting it from 4.6c to ECC 6. Error is coming "No Workflow definition in version 'XXXX'" Cause: In this case, one of the elements within the workflow container exists without name and type. Solution: For error "No Workflow definition in version 'XXXX'", see report RSWD_REPLICATE_FROM_9999. If you want to transport a workflow definition, a special transport version is transported, rather than the version displayed in the Workflow Builder. This transport version must be replicated in the target system to generate a new version that you can then execute or display in the Workflow Builder. The above mentioned Report is for "Create Missing Version from Transport version". This report will return errors like in above scenario, if exists, else will create the missing version.

Page 32: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

4 Searchhelps

Search help created in ECC6 in place of matchcodes exists in 4.6C

Search helps were introduced with Release 4.0. Previously, input helps were defined by creating match codes and help views, but these did not provide as much functionality. When you upgrade to 4.x, these objects are converted to search helps with the same name (if necessary, the name is preceded with a Y or Z). The original objects remain in the system, but are now meaningless.

But matchcodes now no longer supported in ECC6. So all the matchcodes have now been replaced with search help. While creating search help in ECC 6 for the matchcodes existing in older release, below points has to keep in mind:

1. Collective search help needs to be created for each matchcode object and elementary search helps for all the matchcode ids in that object. Example: For matchcode object ZLDA in the older system, collective search help with the same name is being created in ECC6 DE2 (4.6 C)

ECC6.0

And all the matchcode ids present in the matchcode object has been replaced by elementary search helps. DE2 (4.6 C)

Page 33: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

ECC 6.0

2. Since matchcode ids have both selection method and selection conditions. While creating corresponding search help in ECC6, we can copy the database view or pooled table used in matchcode id as selection method in our search help. But selection conditions in the matchcode ids cannot be directly copied in the new search helps. These can be included in the selection method of the search help only. Since in tables, we cannot specify the selection conditions. So for all the pool tables used in the matchcode ids now has to be replaced with database view. So that selection condition can now be mentioned in the database view directly and then we use this newly created database view (used as replacement of pool tables) with selection condition as selection method in our search helps. Example: In one of the matchcode id ZLDA-A, both selection method and selection conditions are there

Page 34: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Now click on Selection condition button

Now the pool table used in the above matchcode ids cannot be used directly in search help in ECC 6 as selection conditions can neither be maintained in search help directly or pool tables. So for pool table M_ZLDDA, database view has to be created in ECC 6 (ZLDDA_M) and selection condition will be maintained there and that database view has been used as selection method in search help.

Will be used as Selection Method in Search help in ECC6

Page 35: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

This database view now will be used in corresponding elementary search help.

Page 36: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

3. In case if pool table is being replaced by database view in ECC6 (like in above example), then it needs to be checked where else these pool tables has been used except matchcode ids in the older system. Ideally these matchcode related pool tables should not be used in other programs but there were some scenarios where this pool table is being used. So in those programs also in ECC6, pool table needs to be removed by database view created for that. Standard Search help In case if some custom search helps were being added in the standard collective search helps. Then they also need to be added again in those standard search helps in new system while upgrading to ECC6. Parameter assignment missing In some cases, parameter assignment has been missing for the elementary search helps included in the collective one while transporting from 4.6 to ECC6. So check this in all collective searchhelps (especially standard searchhelp where custom search helps are included and search helps created in place of matchcodes) Position the cursor one after the other on each allocated search help and choose Parameter assignment. In the next screen, enter the parameter names of the elementary search helps to which the corresponding parameters of the collective search help should be assigned in the field Reference parameter. You can select the parameters contained in the included search help using the input help. You can also create a proposal for the assignment with Proposal.

Page 37: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 38: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

5 System Ids

Firstly it’s required to find out what are all the possible strings which are hard coded in the systems, and given them as an input to 'RPR_ABAP_SOURCE_SCAN'. XXXXX had extracted the list and sent us. We had to analyze those objects for the action to be taken for hard coded elements in the source code for these objects in conjunction with system ids. Also we made all the objects Unicode compliant. And we placed our analysis in one sheet and asked user to confirm before we proceed as there were some system ids like for e.g. : ‘PRS’ / ’SRS’ which we were not aware of then At many places they were checking with offset for system ids or they were using hardcoded values for sy-mandt,even we were able to trace some hardcoded back ground job event IDs and then some file paths / directory structures as below. Z1FFOC01262 concatenate: 'Z_LOC' sy-sysid '_Z1BALA_' WP_KKBER into wp_evtid. Generic approach is not followed so better solution was to follow the same naming convention what they have followed earlier as maintained earlier as interpreting system ids and their purpose and storing files in application servers so we didn’t follow the approach of maintaining one table for the system ids as they were using hardcoded events and also using offsets for system ids as below. For e.g.: If SY-SYSID = 'PRS' and SY-MANDT = '020'. CONCATENATE 'PEL' SY-SYSID INTO P_SYSOR. Purpose of ‘PEL’ .It could be a directory and if not then not sure of its purpose.

Page 39: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

6 Table Maintenance Generation

Run RSVIMT_NON_UC_VIM_AREAS program with selection on Z*packages:

Example: Function Group: Z1V_LD_PROCESS_T Use The regeneration processes the structure-specific form routines of all maintenance dialogs which have been generated in this function group. This also applies if the regeneration is called via a different path in the Generate Table Maintenance Dialog (SE54) transaction for one maintenance dialog. Procedure

1. Choose the function group name from the list from the report RSVIMT_NON_UC_VIM_AREAS. And later you go to the transaction SE54.

2. Choose the Edit Function Group pushbutton in the initial screen. 3. Enter the name of the function group in the field if it is not already displayed. 4. Set the Regenerate Group-Spec. Programs flag. 5. Choose the Change pushbutton. 6. Set the Refresh structure-specific form routines include flag in the following screen.

Please refer to below screenshot for the same. Run the report program in SE38: RSVIMT_NON_UC_VIM_AREAS.

Page 40: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Go to SE54 and Choose the Edit Function Group pushbutton in the initial screen.

Enter the name of the function group (i.e. Z1V_LD_PROCESS_T) in the field if it is not already displayed.

Set the Regenerate Group-Spec. Programs flag and Click on the Change pushbutton. Select the Refresh structure-specific form routines include flag in the following screen. Press Enter to Continue.

Page 41: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Finally the Function Group Z1V_LD_PROCESS_T will be regenerated. And also we need to check explicitly in UCCHECK for any Unicode errors and rectify the same.

Page 42: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

7 WebGUI ITS

A web browser is sufficient to access almost all transactions. Please note: Since SAP GUI for HTML is an application running on the ITS Converting "Webgui" ITS services Execute transaction SE80 on the ITS service you want to convert:

Publish the complete service on the INTERNAL ITS (right-click on the service name):

Page 43: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Double-click on the service name. You get the service parameters to the right side of the screen:

Mark all these parameters using ctrl-y:

Then, ctrl-c Go to transaction SICF and fill-in the "service path" with /sap/bc/gui/sap/its/:

Page 44: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

On the sap/bc/gui/sap/its node create a new sub-element with the same name as the ITS service:

Page 45: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Just type <enter>

<enter> Type the service description and type "Yes" for the GUI Link:

Page 46: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Click on GUI Configuration, the ctrl-v:

Page 47: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Set the handler to CL_HTTP_EXT_ITS:

Save and test the new service:

Page 48: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

If you get the initial screen of the corresponding transaction, that's fine.

Page 49: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

8 Pooled Tables (in reference to Matchcodes)

Pooled Tables: The data from several different tables can be stored together in a table pool or table cluster. Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables. Pooled tables in the dictionary have a many-to-one relation with the table in database.

Database views: are not redundant containers of data, but are merely definitions of paths to obtaining that data. In the example: Company header table Company detail table Database view: (TAB1) (TAB2) (M_VIEW) The advantage of this new technique is that it is no longer necessary to maintain redundant matchcode data: a view takes only a small amount of database dictionary space. Using this technique, the query is converted by the database to a query against the original tables, so it becomes very important that access be supported by the proper indexes. You can access the data in ABAP programs with both OPEN SQL and NATIVE SQL. However, the data is actually selected in the database. Since the join operation is executed in the database in this case, you can minimize the number of database accesses in this way. Database views implement an inner join.

Since a database view is implemented in the database, a database view may only contain transparent tables.

Creating a Database View: SE11

1. Enter an explanatory short text in the field Short text.

You can for example find the view at a later time using this short text.

2. Define the tables to be included in the view in the Tables field of the Tables/Join conditions tab page.

Keep in mind that you can only include transparent tables in a database view.

3. Link the tables with join conditions.

If there are suitable foreign keys between the tables, you should copy the join conditions from these foreign keys.

Place the cursor on a table name and choose Relationships. All foreign keys to other tables defined for this table are displayed. Select the foreign keys and choose Copy. The join condition is now derived from the definitions in the foreign key.

If you only want to see the foreign key relationship existing between two tables, you must first select these two tables (click on the first column of the input area Tables) and then choose Relationships.

Page 50: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

4. On the View fields tab page, select the fields that you want to copy to the view.

Choose Table fields. All the tables contained in the view are displayed in a dialog box. Select a table. All the fields contained in this table are displayed. You can copy fields by selecting them in the first column and choosing Copy.

You can also include an entire table in the view.

5. On the Selection conditions tab page, you can (optionally) formulate restrictions for the data records to be displayed with the view .The selection conditions define the data records that can be selected with the view.

6. With Goto ® Technical settings, you can (optionally) maintain the technical settings of the database view.

You can define whether and how the database view should be buffered here. Proceed as for the technical settings of a table. Note that only the settings for buffering can be maintained for database views.

7. On the Maintenance status tab page, select the maintenance status of the database view.

If the view contains more than one table, the maintenance status read only cannot be altered.

8. Save your entries. You are asked to assign the view a development class.

You can change this development class later with Goto ® Object directory entry.

9. Choose .

Result: When a database view is activated, the corresponding view is also automatically created in the database if the base tables of the view were already created there.

At activation, a log is written; it can be displayed with Utilities ® Activation log. If errors or warnings occurring when the view was activated, they are displayed directly in the activation log.

If the base tables are not yet created in the database, this is recorded in the activation log. The view is nevertheless activated in the ABAP Dictionary. In this case you can create the relevant view on the database later with the database utility.

For example:

Page 51: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Here the database view details we can find out by double clicking on the selection method ZDEBI5_M.

Page 52: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Replacement procedure Since pooled tables were generated for matchcodes in 4.6c All custom "XXXXX" matchcodes have now been converted to searchhelps (By creating Search helps). Search helps which were transported from 4.6c to ECC 6.0 during technical upgrade do not work because they point to pooled tables that were deleted by SAP during the upgrade. As pooled tables are not used in reference to Search helps in SAP, and now views are used in ECC6.0 The Solution proposed: 1) List all custom searchhelps in RE2. 2) For all searchhelps pointing to non existing pool tables: Replace the "Selection method" pooled table by (in order of preference: 1) an existing view, 2) A existing transparent table, 3) a new views if 1 and 2 are not available 3) List all custom programs using a non-existing pool table (where-used) and replace it by the relevant views or table.

Page 53: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Pooled Tables replaced by views-Searchelps: 1. We can use existing views if provided by SAP. For example:Custom Searchelp Z1V_PAP_MAT1H using existing view M_MAT1H.

2. We can use existing transparent tables provided by SAP.

Page 54: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

For example : Custom Searchelp Z1S_COMCOD using transparent table T604.

3. We need to create views. For Example : Custom Searchelp ZZR_DEBI5 using database view ZDEBI5_M.

Page 55: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Page 56: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Pooled Tables replaced by views-Programs M_DEBI1 is the standard pooled table which is replaced by ZDEBI1_M in the following objects :- 1. ZXF04TOP( RE2K901663) 2. ZXF04ZZZ( RE2K901663) 3. LZ1S_CWFI01(RE2K901663)) 4. LZ1S_CWFTOP(RE2K901663)) As in the below screen, changed to ZDEBI1_M wherever used.

Example In Transaction MK03 , none of the custom searchhelp was working initially when checked in client 030 for Vendor . Steps to find out the the custom searchhelps used for any field :- MK03

Page 57: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Press F1

Page 58: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

Double click on the table name .

Collective Searchhelp used is KRED.

Page 59: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

The two custom searchelps used were : ZZR_KRED1 , Vendor by country/company (LFB1) ZZR_KRED2 , Vendor by country/purch.org. (LFM1) Since both were using pooled tables which does not exits so we replaced the pooled tables in selection method by creating views instead as below.

Page 60: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc

And when checked again in MK03 then it worked as per below screen.

Page 61: SAP Adhoc Tasks Upgrade 4.6C to ECC 6.0

SAP Adhoc Tasks upgrade 4.6C to ECC 6.0.doc