|
SAP tips and tricks |
|
1. Nuttige Transacties 1.1. Technisch
|
| SLG1 Logging SM31 Tabel customising vinden SU53 Authorisatie object vinden na block SE43 Area menu SE71 Sapscript STAT Wat zijn de laatste transacties die je hebt uitgevoerd SE39 Splitscreen SE38 SPAD Printer settings SCC1 Transporteren tussen clients $SYNC Leegmaken buffers SM62 Maintain User events SARA Archiveren SM13 Log van Update errors SARP Display report tree SERP Change report tree SM58 Background processen opvolgen LS23 Display single quant LSMW Legacy system migration workbench SNRO Eigen number range EWK1 Global search in code SE30 Trace (knopje analyze en dan menu goto/hitlist/standard SM21 System log SQVI Quick viewer OAAD Archivering SCMP Compare tables BS22 Status management BUPT Business data toolset (soort user exit) FILE Logical filenames aanmaken - Physical file: IS.<SYSID>.naamvandefile - Physical path: /home/dir1/dir2/<F=Zvariable>/dir3/dir4/<FILENAME> SE39 Transacties in test mode => geen problemen met authorisaties SM62 Events aanmaken (niet de WF events) SEARCH_SAP_MENU menupath terugvinden FPCOPARA Print correspondance in ISU (see also print table DFKKCOH) SHD0 Variant en screen transactions (default settings van velden in SAP transactions) SCMP tabel inhoud vergelijken RZ01 Opvolgen van Jobs (soort SM37 met meer detail) SM30 En dan maintain / utilities / adjust => tabel inhoud vergelijken en nadien aanpassen SNOTE OSS management RSBDCSUB Shedule LSMW's in background RBDAPP01 Inbound idocs in status 64 terug binnentrekken SWLD Area menu WF AL16 SAP system performance monitor AL11, CG3Y, CG3Z: Upload en download Unix files van/naar PC SWEC event triggeren bij change doc
|
|
1.2. Workflow |
|
SWU3 Custo
|
| 1.3. Utilities |
| EWBC en EWBE : customising CIC0 scherm
of transactie CIC8 - SPRO : Utilities / Customer service / front office - Nuttige objecten en methods - CCPSJUMP - CCPSMSG OB52 : open billing period EWAC : Hoe een ISU ALV aanpassen (zie ook Help van Function group EWA1)
|
|
navigator : welke objecten/velden
weergeven in de environnement SPRO : ISU / Cust. service / Customer information / Configere data - environnement display
|
|
CAWM Custo van ISU transacties (vb extra veldje op contract account transactie)
|
|
FKK_FUNC_MODULE_DETERMINE
|
|
G/L account XXX does not exist Procedure als je nog eens die error krijgt: FS00 uitvoeren in SA1 voor deze nummer (en CoCo van het contract) en dan in SM2 hetzelfde nummertje met dezelfde gegevens aanmaken als in SA1. Als nummer in SA1 ook nog niet zou bestaan moeten fica boys zelf GL account eerst aanmaken.
|
|
RELEABL9 : schattings programma |
|
REG_CHECK_DEVICE_INCONSISTENCY:
Corrigeren van foutieve timeslices in EASTS, ETDZ... |
|
2. Tips and tricks 2.1. Coding
|
|
In user exit SAP variables aanpassen die niet in interface zitten: ASSIGN (‘(programmanaam)variablenaam’) to XXX
|
|
Indien in 4.6 probleem met call transaction dan
|
|
Om in een functie module errors op te vangen die niet via het RAISE statement worden gegenereerd (dus errors die via MESSAGE statement worden opgeroepen). Een extra exceptions toevoegen =>
|
|
Central address management
|
|
Indien je in een user exit velden op een scherm wil aanpassen maar die niet gedefinieerd zijn als import/export parameter van de exit. Werken via field symbols:
|
|
Printen naar Spool.
|
|
Unix statement uitvoeren vanuit SAP
|
|
Om in een user exit een job te starten die de gegevens aanpast van het object dat door de user ext zelf wordt aangepast (en dus gelockt is). Bv. bij saven van een sales order wil je een job starten die de SO zelf moet aanpassen. Dan kan je in de laatste exit juist voor SAVE commando :
|
|
Statement SCAN om ABAP code te evalueren
|
|
Sapscript: Bij problemen met barcodes kan onderstaande soms helpen
|
|
String “’” : text = ’’’’
|
|
Sapscript: SET COUNTRY ‘BE’
|
|
Sapscript: Logo
|
|
Nieuwe pagina forceren wanneer je abap coding afdrukt.
|
|
Om de hele tabel te zien als een rapport
|
|
Development classes met demo programma’s
|
|
Conversie programma voor Queries (4.5)
|
|
Upload programma voor Sapscripts
|
|
Upload programma voor logo’s
|
|
Transport programma voor logo’s en texten
|
|
Een BDC sessie opstarten
|
|
Een index forceren in een
select (index naam kun je zien via trace)
|
|
RSTXR3TR |
|
Field exits
|
|
CATT
|
|
Upload in WM. Er bestaand direct input programma’s voor upload in WM maar probleem is dat ze altijd een TR nodig hebben. Maoet dus eerst aparte upload doen in IM en dan in IM corresponderende TR’s zoeken. Us soms eenvoudiger om TO met movement type 999 en source storage type 998 en source bin AUFNAHME te maken voor alle bins in legacy warehouse. Als nadien de bin AUFNAHME wordt gecleared wordt automatisch in IM het nodige gemaakt. Opm: wel voor zorgen dat batches en serie nurmmers en bin nummers bestaan !
|
|
How to find Business Add in's in a
transaction - Use transaction se80 to set a break-point in method "get_instance" in class "cl_exithandler" - Start transaction you want to analyse (e.g. CIC0) - Debugger stops at first BADI call - Double-clic on field "exit_name" to have the name of the BADI shown - Clic on "continue" to jump to the next BADI call
|
|
Choose Tools ®
AcceleratedSAP ® Personalization to call the transaction
|
|
Een mass activity zoals FPCOPARA kan
je toch debuggen. Voor de "Schedule program run" typ je =DBUG in plaats
van /H , dan runt de activity in foreground en wordt er op breakpoints
gestopt.
|
|
Choose Tools ® AcceleratedSAP ®
Personalization to call the transaction
|
|
Make a DEBUG shortcut on desktop - 'Generate shortcut' button from menu (voorlaatste knop) - Type: system command, Command /h, Title ABAP_DEBUG
|
|
in table maintenance - eigen
form oproepen bij aanpassen van een record: In de menu van table maintence (se11) environment en dan events. In die events (bv 01 before save) kun je dan eingen Z-form routines toevoegen.
|
|
ISU_WEIGHTING_DETERMINE :
degree days bepalen
|
|
FPCOPARA in foreground laten lopen:
in command box =DBUG typen
|
|
LOG_SYSTEM_GET_RFC_DESTINATION: indien je
hier een breakpoint zet dan springt hij hier naar CRM.
|
|
Analyseren laatste SQL statements:
ST04OLD
|
|
2.2. Workflow |
|
Bij alternaticve binding : rechter muisknop op binding popup. Eerst SWC_CONTAINER_TO_RUNTIME (template SWA_TEMPLATE_EXECUTE_DATAFLOW)
|
|
SYSTEM.GENERICInstantiate
|
|
services/services for object
|
|
3. Tables 3.1. Workflow
|
|
SWDSJEADER WF definitian : basic data
|
|
3.2. Diverse |
|
DEVACESS All dev. Keys
|
|
4. Functies |
|
K_KKB_LIST_DISPLAY
|
Code user exit vinden
*
* Finding the user-exits of a SAP transaction code
*
* Enter the transaction code in which you are looking for the user-exit
* and it will list you the list of user-exits in the transaction code.
* Also a drill down is possible which will help you to branch to SMOD.
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
* http://www.sap-img.com
*
report zuserexit no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
*---End of Program