Wednesday, April 11, 2007

I was reading this thread on sdn and this post inspired me...

I agree with most of what I read in Thomas post, but I think the following part explain pretty well what most of people still doesn't understand about usability:

Companies want to spend their time and money investing in differeniating business functionality not necessarily UI.
...
This doesn't mean that businesses don't want good looking or nicely interactive UIs.
...
Nor do they necessarily want each application to interact or look differently - ie. training costs.

That's sound ancient.

Design a coerent functional and reusable user interface is not fancy. People interact with software through UI, a poorly usable UI mean poorly usable software, and a poorly usable software has less value.

Business does understand that now, perfectly. Every SAP client now have experienced, in his work or leisure, different, more innovative, and more efficient UI and they do require SAP UI to conform to his average experience; and from SAP moves I can assume SAP knows that.

For instance, I recently went through a full SAP ICWC implementation and I can assure it was painful to keep explaining to the client it have to deal with the fact the user experience and the usability of the application was not the one of the average web application they experience every day; [b]and they didn't want something nice and cute, they just wanted their IC agent to be more productive[/b].

Most of people laughed when the mouse was introduced, now most of people laugh at them.
Few companies I know are still using old cobol software with a UI 20 years old, they achieve a high productivity with it, and I suggest them to stuck with it. But these are exceptions nowadays.

[b]The rule now is better usability = more productivity, and as far as I can notice business knows that.[/b]

Labels: , , ,

Thursday, January 11, 2007

A better future

Reading this article about Shai Agassi talk on Oracle Fusion I had few laughs. It's interesting either for the view about the business Agassi show (pretty pragmatic and old way in my opinion, which is not necesseraly bad), and for the answers given by Jesper Andersen from Oracle side.
I can't referein myself from noticing if a member of the board of SAP is aware about the time (5 years to develop, 3 to stabilize) required to get a new software working properly enough to sell it to clients, well they should try harder to remember it when putting on the market some of their products.

Let me add I do agree completly with Dan Farber:
"For customers, the situation is going to be a better negotiating position than in past years."
Also for consultants the future shouldn't be bad. I assume there will be a lot of work to do...

Change Request Tables

In case you need to find the tables storing the Change Request (store of data handled in SE10/SE03/STMS) check tables:

E070 and E071

Wednesday, January 10, 2007

A banal one v2.0

Please don't blame me for this one either...

If you are not sure how to automatically retrieve correct OLTP RFC destination, try this:

* rfc
DATA: lv_rfcdest TYPE rfcdest,
lt_erpsites TYPE STANDARD TABLE OF smof_erpsh,
ls_erpsites TYPE smof_erpsh.

CALL FUNCTION 'SMOF_READ_SMOFERPSH'
TABLES
t_erpsites = lt_erpsites.

READ TABLE lt_erpsites INTO ls_erpsites
WITH KEY sitetypeid = 'SMOF_ERPSITE'.
IF sy-subrc = 0.
lv_rfcdest = ls_erpsites-rfcdest.
endif.
** ^^

A banal one, how to implement process_type driven auth check inside ICWC

After hearing a lot of screaming in a couple of meetings due to the lack of authority-check inside the ICWC I just wondered why people sometime likes so much to scream without a true reason.
Using the following BADI you can implement your own custom authorization check, like for instance calling and authority-check on standard object CRM_ORD_PR.

CRM_ORDER_AUTH_CHECK

Tuesday, December 19, 2006

how to debug a queue


Let's say you want to debug a queue, source R3, target CRM, when you run the adapter/business object from CRM you actually start an outbound queue (triggering queue), to have this queue stopped in SMQ1 in order to debug it just type /h before to press F8 in R3AS, and change debug settings according to this picture.
You will then find the queue stopped and you will be able to debug it from SMQ1.

Thursday, December 14, 2006

Exception condition "GUID_FOR_LOGSYS_CHANGED" raised.

Data in tables CRMMLSGUID and CRMPRLS are conflictual.
Did anyone performed a restore in the source R3 system? A dbcopy? Whatever... You should follow the checklist to connect a CRM system with a backend R3 and fix it. But downloaded data in CRM system is much probably compromised.

Delete old bdoc log in smw01

Report SMO6_REORG is what you are looking for, it generally nuke a lot of old data, just give it the number of days of log data you want to keep and it's done.
To be more specific check the source code it does call different report to clean up specific data, e.g. RSMWM_BSTAT_REORG to clean up Bdoc statistics.

It's good practice to schedule SMO6_REORG so it's executed every day deleting old (1 week?) data.

Wednesday, October 25, 2006

How to link two different object (e.g. CRM TRANSACTIONS in document flow)


include CRM_BIN_RELATION_CON.

data: it_item_links TYPE crmt_brelvonai_tab.

DATA:
ls_new_binrel TYPE gbinrel,
ls_obj_predecessor TYPE borident,
ls_obj_successor TYPE borident,
lt_links TYPE STANDARD TABLE OF relgraphlk WITH HEADER LINE.

* fill role A (BUS2000116)
ls_obj_predecessor-objkey = '453C94F14F0800A902000000A0DC2704'.
ls_obj_predecessor-objtype = 'BUS2000116'.
ls_obj_predecessor-logsys = ''.

* fill role B (BUS2000126)
ls_obj_successor-objkey = '453C961B4F0800A902000000A0DC2704'.
ls_obj_successor-objtype = 'BUS2000126'.
ls_obj_successor-logsys = ''.


* Read header-relations
CALL FUNCTION 'SREL_GET_NEXT_RELATIONS'
 EXPORTING
  object = ls_obj_predecessor
  relationtype = gc_bin_rel_type-predecessor_successor
 TABLES
  links = lt_links
 EXCEPTIONS
  OTHERS = 0.

CALL FUNCTION 'BINARY_RELATION_CREATE'
 EXPORTING
  obj_rolea = ls_obj_predecessor
  obj_roleb = ls_obj_successor
  relationtype = gc_bin_rel_type-predecessor_successor
  fire_events = space
 IMPORTING
  binrel = ls_new_binrel
 EXCEPTIONS
  no_model = 1
  internal_error = 2
  unknown = 3
  OTHERS = 4.

commit work and wait.

Friday, October 20, 2006

SICF

"You are not authorized to view the page."
Have you just transported the BSP on another system without activating it in transaction SICF?