Diese Seite (Version-1) wurde zuletzt am 28-März-2017 14:37 von Administrator geändert.

Du bist nicht autorisiert, diese Seite umzubenennen.

Du bist nicht autorisiert, diese Seite zu löschen.

Versionsgeschichte der Seite

Version Zuletzt geändert Größe Autor Änderungen Kommentar

Links

Eingehende Links Ausgehende Links

Versionsunterschiede

Unterschiede zwischen Version und .

Zeile 1: 329 Zeilen hinzugefügt.
[{ALLOW view All}]
[{ALLOW edit Authenticated}]
[{TableOfContents }]
! Links
[SAP ABAP Technology|http://help.sap.com/saphelp_nw2004s/helpdata/en/74/f72707c850b6489e32614108e38ecb/frameset.htm]
[New ABAP Keyword Documentation for SAP|http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=%28J2EE3414800%29ID0451757950DB10507301263077410235End?blog=/pub/wlg/1603]
[ABAP-Programmierung|http://lingua-eurana.de/abap.htm]
[Program Samples|http://www.guidancetech.com/people/holland/sap/abap/]
[Load Excel into table|http://www.sapdev.co.uk/file/file_upexcel.htm]
! Run Time Type Services (RTTS)
Types according to CL_ABAP_ELEMDESCR
|KIND_CLASS|C
|KIND_ELEM|E
|KIND_INTF|I
|KIND_REF|R
|KIND_STRUCT|S
|KIND_TABLE|T
|TRUE|X
|TYPEKIND_ANY|~
|TYPEKIND_CHAR|C|CHAR
|TYPEKIND_CLASS|*
|TYPEKIND_CLIKE|&
|TYPEKIND_CSEQUENCE|?
|TYPEKIND_DATA|#
|TYPEKIND_DATE|D|DATS
|TYPEKIND_DECFLOAT|/
|TYPEKIND_DECFLOAT16|a
|TYPEKIND_DECFLOAT34|e
|TYPEKIND_DREF|l
|TYPEKIND_FLOAT|F
|TYPEKIND_HEX|X
|TYPEKIND_INT|I
|TYPEKIND_INT1|b
|TYPEKIND_INT2|s
|TYPEKIND_INTF|+
|TYPEKIND_IREF|m
|TYPEKIND_NUM|N
|TYPEKIND_NUMERIC|%
|TYPEKIND_OREF|r
|TYPEKIND_PACKED|P|CURR,DEC
|TYPEKIND_SIMPLE|$
|TYPEKIND_STRING|g
|TYPEKIND_STRUCT1|u
|TYPEKIND_STRUCT2|v
|TYPEKIND_TABLE|h
|TYPEKIND_TIME|T
|TYPEKIND_W|w
|TYPEKIND_XSEQUENCE|!
|TYPEKIND_XSTRING|y
|TYPEKIND_BREF|j
|TYPEPROPKIND_DBMAXLEN|D
|TYPEPROPKIND_HASCLIENT|C
|UNDEFINED|-
! Character conversion (codepage)
See [here|http://wiki.scn.sap.com/wiki/display/Snippets/ABAP+Code+Page+Conversions]
and [here|http://wiki.scn.sap.com/wiki/display/ABAP/Character+encoding+conversion]
or [Abap-xstring]
|fb.SCP_REPLACE_STRANGE_CHARS|Change German special chars (Umlaute)
|CL_XMS_PART_UTIL|
|CL_ABAP_CONV_IN_CE|Code Page and Endian Conversion (External -> System Format)
|CL_ABAP_CONV_OUT_CE|Converts ABAP data objects to an external binary format
|CL_ABAP_CONV_X2X_CE|Converts of ABAP data objects between two external binary formats
|CL_ABAP_CHAR_UTILITIES|Various attributes and methods for character sets and byte order
|CL_NLS_STRUC_CONTAINER|Corrects alignment of structures in containers of type C (or STRING). You need to make this correction if East-Asian characters ("full-width" characters in Chinese, Japanese, and Korean) are to be copied from a non-Unicode to a Unicode system or vice versa. You do not need to make the correction if you use the method CONVERT_STRUC from this class.
{{{
DATA: l_xstring_input TYPE xstring,
l_string_output TYPE string,
l_encoding TYPE abap_encoding, "see table TCP00
l_r_converter TYPE REF TO cl_abap_conv_in_ce.
" Convert file data to string
TRY.
CALL METHOD cl_abap_conv_in_ce=>create
EXPORTING
input = l_xstring_input
encoding = l_encoding
replacement = '#'
ignore_cerr = abap_false
RECEIVING
conv = l_r_converter.
CALL METHOD l_r_converter->read
IMPORTING
data = l_string_output.
CATCH cx_root.
" Conversion error
EXIT.
ENDTRY.
}}}
! General system information
{{{
CL_HRCE_MASTERSWITCHES=>IS_CLIENT_PRODUCTIVE( ) = 'X'/' '
}}}
!Shortcuts
|Ctrl + <| comment out all marked line
|Ctrl + Shift + <| uncomment all mrkes lines
!Search in Reports
|RPINCL10|Standard
|RPR_ABAP_SOURCE_SCAN|Scan ABAP Report Sourcen
|x.CODE_SCANNER|ABAP Search (=r.AFX_CODE_SCANNER)
|RSRSCAN1|
|RKCTSEAR|
!Append
There is a weird shortcut for APPEND.\\
When you record a session, the code is generated like
{{{
CLEAR bdctab.
bdctab-program = 'SAPMSSY0'.
bdctab-dynpro = '120'.
bdctab-dynbegin = 'X'.
APPEND bdctab.
}}}
The first CLEAR and the field assignments refer to a __structure__ bdctab. \\
This structure is the header line (deprecated) from itab bdctab. So bdctab is used in different contexts.\\
If an ABAP command needs a structure, the header line "bdctab" is automatically taken. \\
If an ABAP command need an itab, the table "bcdtab" is taken, you can use
{{{ APPEND bdctab[] }}} to indicate that the table should be used. \\
APPEND bdctab is a shortcut and should at least be
{{{ APPEND bcdtab to bdctab[] }}}
But this is outdated also, though still generated from SAP ECC 6.0. \\
See more explanations [here|http://www.sapdb.info/append-abap-keyword-a-day/].
! Execute OS commands on the server
* function module SXPG_COMMAND_EXECUTE in connection with SM49/SM69
* WS_EXECUTE
* CL_GUI_FRONTEND_SERVICES=>EXECUTE
* TH_POPUP
* call 'SYSTEM' id 'COMMAND'
! Remote Execution
{{{
SUBMIT {rep|(name)} ...
}}}
! Text Manipulation
|class CL_ABAP_CHAR_UTILITIES|
|concatenate|
|strlen|describe field
Note:
{{{replace all occurrences of ' ' in p_filen with '_' in character mode.}}}
will raise an exception REPLACE_INFINITE_LOOP, use the following:
{{{replace all occurrences of regex '\s{1}' in p_filen with '_'.}}}
(or use TRANSLATE)
! Using XSTRING
see [xstring|abap-xstring]
! File Handling
* CL_GUI_FRONTEND_SERVICES=>FILE_*
* OPEN/GET DATASET
* FB EPS_GET*
* FB SCMS*
! Date Handling
Vormonat:
{{{
DATA: ultimo TYPE d.
ultimo = sy-datum.
ultimo+6(2) = '01'. " = erster Tag dieses Monats
ultimo = ultimo - 1. " = letzter Tag dieses Monats
}}}
Achtung: Funktioniert nicht beim Jahreswechsel, hier muss extra geprüft werden.
! Import Excel to SAP
|f.TEXT_CONVERT_XLS_TO_SAP|Fastest
|f.ALSM_EXCEL_TO_INTERNAL_TABLE|Standard
|f.KCD_EXCEL_OLE_TO_INT_CONVERT|limited to 9999 rows
|f.FILE_READ_AND_CONVERT_SAP_DATA|6x slower
|Per OLE|CREATE OBJECT H_EXCEL 'Excel.Application' + CALL METHOD OF H_EXCEL 'Workbooks' = H_WRKBK ...
! Dynamic / Generic SQL
Native SQL, see reports
|ADBC_DEMO
|RSDU_EXEC_SQL
Open SQL
{{{
REPORT z_bi_blogdyn1.
PARAMETERS: p_tab TYPE tabname DEFAULT 'T001'.
START-OF-SELECTION.
DATA: dref TYPE REF TO data,
tref TYPE REF TO data,
gt_fcat TYPE lvc_t_fcat.
FIELD-SYMBOLS: <wa> TYPE ANY,
<itab> TYPE STANDARD TABLE.
CREATE DATA dref TYPE (p_tab).
ASSIGN dref->* TO <wa>.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = p_tab
CHANGING
ct_fieldcat = gt_fcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = tref
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
ASSIGN tref->* TO <itab>.
SELECT * FROM (p_tab) INTO TABLE <itab>.
LOOP AT <itab> INTO <wa>.
WRITE: / <wa>.
ENDLOOP.
}}}
!Gray out selection parameters
{{{
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'STEP080'. " name is upper case always
SCREEN-input = 0. " grau out
MODIFY SCREEN.
ENDIF.
ENDLOOP.
}}}
! Cluster tables
[HR Clusters|http://wiki.sdn.sap.com/wiki/display/ERPHCM/HR+Payroll+Clusters] |
[Cluster Discussion|http://scn.sap.com/thread/974261]
|x.PECLUSTER|HR-Cluster bearbeiten
|v.V_T52RELID|Pflegeview für die Beschreibung der Cluster in PCLx
|t.T52RELID|HR: Beschreibung der Cluster in den Tabellen PCLx
|p.PCAL|Paket PCAL (all cluster stuff)
|t.T52B5|Zuordnung von Werten zu Objekten (CLST,PDP,1)
|t.HRDCT_D_TABLES|Index Table for Declustering Transparent Tables
!ABAP Objects / Class
|t.SEOCLASS|Classes
|t.SEOCOMPO|Components (Methods)
|v.VSEOCLASS|view on class
|t.SEOMETAREL|Meta-Beziehung (see RELTYPE: Interface, Vererbung, Erweiterung)
|t.TMDIR|Classes and its methods
|cl.CL_OO_CLASS|Class Reflection Helper class
Loop through table of objects with keyword TABLE_LINE:
{{{
DATA: gt_records type standard table of ref to zhrzxx_mig_tabledata,
lo_record type ref to zhrzxx_mig_tabledata.
LOOP AT gt_records INTO lo_record
WHERE table_line->mv_infty = '0001'.
[...]
ENDLOOP.
}}}
Tabellen DD0*
!ABAP Dictionary
|f.DDIF_FIELDINFO_GET
|f.DDIF_FIELDLABEL_GET
|fm.DDIF_DOMA_GET
|fm.RSD_DTEL_GET
|CL_ABAP_TYPEDESCR
! Wildcards
| |SQL|Selektion Screen
|0 to many|%|*
|single char|_|+
!Business Application Log (BAL)
|SLG0|Anwendungs-Log: Objektpflege (Objekt+Unterobjekt ist nötig, um auf DB zu sichern)
|SLG1|Anwendungs-Log: Protokolle anzeigen
|SLG2|Anwendungs-Log: Protokolle löschen
|SLGN|Anwendungs-Log: Nummernkreispflege
|SLGT|Anmelden zentraler Objektkatalog
Für die Protokollierung sollten die von SAP vorgesehenen Funktionsbausteine in
der Funktionsgruppe SBAL verwendet werden.
Die Beispielprogramme „SBAL_DEMO*“ bieten einen guten Einstieg und Überblick.
[SAP Application Log – Leitfaden für Anwender|http://help.sap.com/saphelp_nw70ehp2/helpdata/de/3a/c8263712c79958e10000009b38f936/frameset.htm]
|r.SBAL_DOCUMENTATION
|CL_HRPAY00_MESSAGE_HANDLER
|BAL_AMODAL |Anwendungs-Log: INDX-Tabelle für amodale K
|BAL_INDX |Anwendungs-Log: INDX-Tabelle
|BALC |Anwendungs-Log: Kontext des Prokolls bzw.
|BALDAT |Anwendungs-Log: Daten eines Protokolls
|BALHANDLE |Anwendungs-Log: Dummy-Tabelle für Sperrobj
|BALHDR |Anwendungs-Log: Protokollkopf
|BALHDRP |Anwendungs-Log: Protokollparameter
|BALM |Anwendungs-Log: Protokollnachrichten
|BALMP |Anwendungs-Log: Nachrichtenparameter
|BALOBJ |Anwendungs-Log: Objekte
|BALOBJT |Anwendungs-Log: Texte zu den Objekten
|BALSUB |Anwendungs-Log: Unterobjekte
|BALSUBT |Anwendungs-Log: Unterobjekttexte
|CIFBALSEL |Anwendungs-Log: CIF-Erweiterung für Protok