Professional Documents
Culture Documents
Society / Project
288868615.doc
Author:
Release 1,1
SD Competence Centre
Page
1/26
Data
06/10/15
Ruolo
Data
Luigi Mingione
SD consultant
Novembre 2001
Ruolo
Data
Luigi Mingione
SD consultant
Luglio 2002
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
2/26
Data
06/10/15
INDICE
1.
INTRODUZIONE..................................................................................................................................... 33
1.1. CONCETTO DI AMPLIAMENTO IN SAP.................................................................................................... 33
1.1.1.
Esempio.................................................................................................................................... 44
1.2. EXIT IN SAP R/3................................................................................................................................ 55
1.2.1.
Come localizzare gli ampliamenti in SAP..................................................................................55
1.2.2.
Riferimenti................................................................................................................................. 77
1.3. CENNI DI DEVELOPMENT WORKBENCH................................................................................................ 88
1.3.1.
Creazione Tabella custom ZRANGE01.....................................................................................88
1.3.2.
Creazione report ZCLIENTE................................................................................................. 1111
2.
Presupposti..................................................................................................................................... 2121
Legami di customizing.................................................................................................................... 2121
Implementazione Field Exit.............................................................................................................2323
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
3/26
Data
06/10/15
1. INTRODUZIONE.
1.1. Concetto di ampliamento in SAP.
Enhancements represent potential customer requirements that have not been developed
in the standard. Instead, the standard provides for further development of such exits at the
customer site, using logic specific to the customer. Upward compatibility is assured since
SAP guarantees that the call of an enhancement from the standard software and the
calling interface will remain valid in future releases.
Customizing exits allow you to add your own functionality to SAPs standard business
applications without having to modify the original applications. SAP creates customer exits
for specific programs, screens, and menus within standard R/3 applications. These exits
do not contain any functionality. Instead, the customer exits act as hooks. You can hang
your own add-on functionality onto these hooks.
If you want to enhance the functionality of your R/3 System, you should take advantage of
the exits available in standard R/3 applications. There are two main reasons why you
should use exits rather than modifying SAP software yourself. Add-ons attached to exits
have the advantage that:
They do not affect standard SAP source code
When you add new functionality to your SAP System using SAPs exits, you do not
alter the source code of standard SAP programs in any way. The code and screens you
create are encapsulated as separate objects. These customer objects are linked to
standard applications, but exist separately from SAPs standard software package.
They do not affect software updates
When you add new functionality to your R/3 System using SAPs exits, your objects
(called customer objects) must adhere to strict naming conventions. When it comes
time to upgrade a to a new software release, customer objects names ensure that they
will not be affected by any changes or new additions to the standard software package.
Customer exits are not available for all programs and screens found in R/3 standard
applications. You can only use customer exits if they already exist in the R/3
System.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
4/26
Data
06/10/15
1.1.1.Esempio.
Range di numerazione documenti commerciali.
Nel customizing di SD, transazione VOV8, vengono definiti, fra l'altro, i range di
numerazione associati ai documenti di vendita.
E' possibile in customizing, per uno stesso documento di vendita, associare un unico
range di numerazione interno, ed un unico range di numerazione esterno.
Qualora si implementasse un progetto SAP per un gruppo industriale, e ciascuna societ
del gruppo voglia, a parit di flusso di vendita, il proprio range di numerazione, viste le
ipotesi di partenza possibile:
Moltiplicare il numero dei documenti commerciali (creare tanti ordini standard quante
sono le societ del gruppo, tante offerte standard quante sono le societ del gruppo)
Assegnare il range di numerazione al documento, via User Exit, per esempio in
funzione della Organizzazione Commerciale imputata.
Attribuzione partner commerciali.
Al momento della creazione dell'ordine cliente i partner commerciali sono tramsessi dalla
anagrafica del cliente, secondo le regole di copia implementate in customizing.
SAP per non gestisce la temporalit del rapporto nell'ambito delle funzioni partner: ad
esempio nel caso degli agenti importante poter stabilire a priori la data di vaidit del
rapporto di assegnazione cliente / agente.
Nella procedura per la gestione agenti di SIC questo gestito: sarebbe allora necessario
poter implementare una user-exit per la trasmissione del partner Agente dagli archivi
custom verso il documento commerciale.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
5/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
6/26
Data
06/10/15
Seguendo il percorso fino alla fine possibile visualizzare tutti gli ampliamenti relativi a
quel componente.
E' anche possibile effettuare una ricerca di tipo generale clickando sul pulsante sistema
informativo:
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
7/26
Data
06/10/15
1.2.2.Riferimenti.
Questo documento non ha pretesa di completezza sull'argomento, ma il suo scopo
quello di fornire un punto di partenza per la scoperta della potenzialit dello strumento
delle Exit in SAP R/3, con particolare focalizzazione nell'ambito del modulo SD di SAP.
Per approfondire gli argomenti descritti in questo documento, il riferimento il manuale
che si trova nella SAP library, secondo il percorso:
\Basis components\ Abap Workbench\ BC - Changing the SAP standard
La versione di riferimento di SAP R/3, per tutto quanto contenuto in questo documento,
la 4,6c.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
8/26
Data
06/10/15
E' importante flaggare, come mostrato in figura, aggiornamento tabella ammesso, per
consentire successivamente di popolare la tabella con lo strumento della transazione
SE16.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
9/26
Data
06/10/15
Passiamo ora a definire quali siano i campi che definiscono la tabella, e quali di questi
siano chiavi primarie (cio campi il cui valore non possa essere ripetuto pi di una volta
nella stessa tabella: fondamentale riconoscere come sia necessario inserire sempre il
campo MANDT se si vuole avere una tabella il cui contenuto dipenda dal mandante.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
10/26
Data
06/10/15
E' a questo punto possibile popolare la tabella, con la transazione SE16, inserendo una o
pi righe valori.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
11/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
12/26
Data
06/10/15
Lo stesso risultato si sarebbe potuto ovviamente ottenere anche con la transazione SE16
sulla tabella KNA1, o con una smeplice query.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
13/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
14/26
Data
06/10/15
2. DATA DICTIONARY.
2.1. Data element documentation.
Utilizzando lo strumento degli ampliamenti, possibile modificare le descrizioni dei data
element (parole chiave), e la documentazione relativa.
Pu succedere infatti che un campo standard SAP (a valore - quindi con un matchcode
che consente di visualizzare i valori possibili, oppure non controllato - quindi un semplice
campo alfanumerico) sia utilizzato per scopi diversi da quelli per i quali il campo era stato
originariamente progettato.
Tipici esempi sono i campi gruppi materiale aggiuntivi nella anagrafica del materiale,
oppure i campi supplementari nella anagrafica del cliente.
In questi casi, utile per il cliente ritrovare nella descrizione del campo, e nel relativo help
una descrizione ed una documentazione consoni a quanto riconosciuto nel proprio flusso
aziendale.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
15/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
16/26
Data
06/10/15
Si esegue la transazione CMOD per accedere alla funzionalit di modifica delle parole
chiave associate ai data element.
Nella videata successiva la azione che viene compiuta quella di modificare nella lingua
imputata (IT) la descrizione dell'elemento dati, rispetto a quanto proposto da SAP.
La modifica viene rilevata in una richiesta di trasporto, e pu quindi essere trasportata sui
sistemi di test e produzione.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
17/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
18/26
Data
06/10/15
Avendo accettato il nome proposto ZAVBAK, si perviene ad una videata simile a quella
della creazione di una tabella, dove potremo introdurre una descrizione per la tabella
append, ed i campi da aggiungere nella tabella di partenza, nel nostro caso la classe di
fatturato KATR1. A questo punto non rester che attivare.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
19/26
Data
06/10/15
Tornando indietro alla visualizzazione della tabella VBAK possibile apprezzare come
questa abbia ora un campo in pi, il campo VBAK-KATR1.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
20/26
Data
06/10/15
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
21/26
Data
06/10/15
Presupposti.
Ciascun addetto all'order entry deve poter accedere solamente alla editazione dei propri
ordini.
Esistono sulla anagrafica del cliente i campi:
Ufficio Vendite (KNVV-VKBUR)
Gruppo addetto vendite (KNVV-VKGRP)
Si conviene di utilizzare questi due campi per realizzare la associazione dellordine
cliente all'utente di logon.
La associazione sar realizzata a livello di anagrafica utente, e sar quindi proposta
automaticamente nella fase di introduzione dellordine cliente.
E' possibile rendere obbligatori questi due campi sullordine cliente, inserendoli nel log di
incompletezza dellordine cliente, in modo che se su un ordine questi dati siano assenti,
non sia possibile procedere alla spedizione dellordine stesso.
Loggetto di autorizzazione relativo V_VBKA_VKO.
2.3.1.2.
Legami di customizing.
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
22/26
Data
06/10/15
Object:
Society / Project
Author:
Release 1,1
SD Competence Centre
2.3.1.3.
288868615.doc
Page
23/26
Data
06/10/15
Nota bene: stiamo creando come prima field exit la numero 'blank'.
Il sistema propone automaticamente la creazione del corrispondente function module:
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
24/26
Data
06/10/15
E' necessario compilare i campi di testata del function module, dopodich si accede alla
editazione del contenuto del function module stesso:
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
25/26
Data
06/10/15
A questo punto eseguendo nuovamente RSMODPRF senza valori, si ottiene la lista delle
field exit implementate:
Object:
Society / Project
Author:
288868615.doc
Release 1,1
SD Competence Centre
Page
26/26
Data
06/10/15
A questo punto non resta che attivare (sar attivato corrispondentemente anche il function
module FIELD_EXIT_VKBUR).
Il risultato sar che quando l'utente DOCENTE proceder alla creazione di un ordine
cliente (ZOV-Z001-Z1-Z1), il campo VKBUR sar automaticamente valorizzato con 'Z100' Campania.
2.3.2. Appendice.
E' possibile, nel function module relativo alla field exit, accedere anche a valori diversi dal
valore dell'input.
Utilizzando il function module DYNP_VALUES_READ
Creando due (o pi) function exit appartenenti allo stesso gruppo funzioni, su dynpro
diversi: dichiarando una variabile globale nella top include del gruppo funzioni
possibile alimentarla dalla prima function exit, e leggerla, ed utilizzarla nella seconda.