View previous topic :: View next topic
Author
Message
admin Администратор Joined: 01 Sep 2007 Posts: 1640
Posted: Tue Mar 11, 2008 1:20 pm Post subject: CALL - Call a Kernel C System Function
CALL - Call a Kernel C System Function
Author: Thomas Jung
Kernel C System calls are really just for SAP internal use. If SAP wants to allow a customer to use one, they will generally write a released ABAP function module to expose the Kernel Call. One example of this is the function module TH_USER_INFO. The following is from the on-line help for system call:
CALL - Call a System Function
Note
This statement is for internal use only.
Incompatible changes or further developments may occur at any time without warning or notice.
Basic form 8
CALL cfunc.
Addition:
... ID id1 FIELD f1 ... ID idn FIELD fn
Effect
Calls the system function cfunc. The relevant function must exist in the file sapactab.h. If you change or recreate a function, you have to compile and link the SAP kernel again. For this, you need the C source code files.
Normally, external programs should be called by RFC with CALL FUNCTION ... DESTINATION.
Addition
... ID id1 FIELD f1 ... ID idn FIELD fn
Effect
Passes fields to the called program by reference. With "ID id1", you specify the name of a formal parameter, and with "FIELD f1" the relevant field from the ABAP/4 program. If a formal parameter expects an internal table, the latter is passed in the form "FIELD tab[]".
Example
Code: DATA RESULT(8).
CALL 'MULTIPLY' ID 'P1' FIELD '9999'
ID 'P2' FIELD '9999'
ID 'RES' FIELD RESULT.
Note
With some critical C functions, the system automatically performs an authorization check. If the user does not have the appropriate authorization, a runtime error occurs. You can check the authorization with the function module AUTHORITY_CHECK_C_FUNCTION.
Runtime errors:
CALL_C_FUNCTION_NOT_FOUND: Specified system function unknown.
CALL_C_FUNCTION_NO_AUTHORITY: No authorization to call this C function.
CALL_SYSTEM-DISABLED: The system function SYSTEM is disabled (with CALL 'SYSTEM').
These are the System functions
ABAP_CALLSTACK
ABAP_CRC64
ABAP_PRECOMPILED_HEADER_USAGE
ABSTOR_TEST AB_CALL_LITL_CHECK AB_CALL_STACK_TRACE
AB_CREATE_SAPHFILE
AB_DELETE_ALL_MEM
AB_DELETE_ALL_SHARED
AB_DELETE_MEM AB_DELETE_SHARED
AB_FIELD_CHECKWRITEADDRESS
AB_FIELD_INFO
AB_FRAG_VIEW_TO_ITAB
AB_GET_CALLER AB_GET_COUNTRY
AB_GET_CX_DATA
AB_GET_CX_FOR_CUSTOMIZE
AB_GET_C_PARMS
AB_GET_DIRECTORY_DB
AB_GET_DIRECTORY_MEM
AB_GET_DIRECTORY_SHARED
AB_GET_GLOBAL_FIELDS
AB_GET_KEYS_MEM
AB_GET_KEYS_SHARED
AB_GET_NEXT_LEVEL_SHARED
AB_GET_TEXT_FROM_CLUSTER
AB_GET_VIEW_TO_ITAB AB_IMPORT_DECOMPRESS
AB_PRINT
AB_PROGTEXT
AB_P_A_CALC
AB_READTABLE_TRACE_GET AB_READTABLE_TRACE_ON
AB_READ_TEXTPOOL
AB_RFC_STATISTIC_TID
AB_RFC_X_SCRAMBLE_STRING
AB_RTM_DUMP
AB_RTM_LOAD_FILE
AB_SET_CODEPAGE_IN_CLUSTER
AB_SET_CX_DATA
AB_SET_C_PARMS
AB_SET_PRINT_PARAMS
AB_STRUC_INFO
AB_STR_GET_REFCOUNT
AB_TEST_CONV_EX
AB_TEST_KRN
AB_TEST_RPERF
AB_VALIDATE_STRREFS
AB_VALIDATE_TABREFS
AB_WORKINGSET
AB_WRITE_TEXTPOOL
ADD_ENTRY_TO_RTM
ALERTS
ANALYSE_USERBUFFER
APPC_HD
ARCHIVE_JOB_DONE
AS400_API
AS4_FREE_STOR
ASIAN_CHAR_WIDTH
ATRA_DECOMPRESS
ATRA_GET_CLOCK_INTERVAL
ATRA_GET_STATE
ATRA_INIT ATRA_INIT_DEFAULT
ATRA_SET_CLOCK
AUDIT_GET_INFO
AUDIT_SET_INFO
AUDIT_WRITE_ENTRY
AUTH_CHECK_TCODE
AUTH_CHECK_USER
AUTH_TRACE
AbGetXtypInfo
BDC_CLOSE_GROUP
BDC_DYNPRO BDC_OPEN_GROUP
BDC_RUNNING
BDC_START_GROUP
BDC_TCODE
BREAK_LINE
BTC_CALL_KERNEL
BUILD_DS_SPEC
BatchDebugging
CAL_BUFSIZE
CAL_CHECK_FOR_HOLIDAY
CAL_CONVERT_DATE_TO_FDATE CAL_CONVERT_FDATE_TO_DATE
CAL_EASTERDATE
CAL_LOAD_NEW
CAL_SYNC
CCMS_MONI_INFRA CCMS_MONI_SYST
CHECKSUM
CHECK_ACCESS_KEY
CHECK_DEVELOPER_KEY
CHECK_LOCALE
CHECK_REFERENCE
CHECK_SECRET_AUTHORITY
CHECK_TADIR_ACCESS_FREE
CHECK_TADIR_ACCESS_KEY
CLOCK CONT_LOC_TIM CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
COV_GET_DATA
COV_INFO COV_MAINTAIN_TESTKEYS
CREATE_DYNAMIC_TYPE
CUADELETE
CUR_LCL C_CAL_GENERATE C_CAL_GET_TIMESTAMP
C_CHAR_CODE_CONV
C_CVT_HOST_TO_NEUT
C_CVT_NEUT_TO_HOST
C_DB_EXECUTE
C_DB_FUNCTION
C_DD_CHECK_VAL
C_DD_COUNT_VAL
C_DD_HEADER
C_DD_H_ADD_V
C_DD_H_DEL_V
C_DD_H_GET_V
C_DD_H_PUR_V
C_DD_H_PUT_V
C_DD_READ_FIELD
C_DIR_READ_FINISH
C_DIR_READ_NEXT C_DIR_READ_START
C_END_SPOOL_JOB
C_ENQUEUE
C_ENQ_WILDCARD
C_FILE_ATTRIBUTES
C_GETENV C_GET_BUFSIZE
C_GET_CPU_ID
C_GET_FILEPOS
C_GET_FILESET
C_GET_FLUSHLEVEL
C_GET_MOD_TIME
C_GET_PROCESS
C_GET_ROOT
C_GET_SWITCH
C_GET_SYSLOG_POS
C_GET_SYSTEM_NUMBER
C_GET_TABLE C_GET_TASK
C_GET_TIMEZONE
C_GET_TRNA
C_GET_USER
C_GUI_SUPPORT
C_GUI_VERSION
C_LOG_ROOT C_MAKE_TEXT_DELTA
C_MG_MCIDGEN
C_MG_MCIDREM
C_MG_MCOGEN
C_MG_MCOREM
C_MOD_TABLE
C_PRINT_LINE
C_PRINT_NORMAL_LINE
C_PRINT_OBJECT
C_PRINT_OTF
C_PRINT_PAGE_BREAK
C_REMOVE C_RSPO_ASK_FOR_PRIO
C_RSPO_CHECK_TAB_IN_DD
C_RSPO_LAST_ERROR
C_RSPO_PRINTJOB_STATE
C_RSPO_PROCESS_DIALOG
C_RSPO_SPOOL_MESSAGE
C_RSPO_TEST
C_RSTRB_READ_BUFFERED C_RSTRDURA_TO_P6_P6
C_RSTRTIME_TO_P6_P6
C_RSTS_CCC_STAT
C_RSTS_CHECK_TAB_IN_DD
C_RSTS_CLOSE C_RSTS_CREATE_OBJ_FOR_FILE
C_RSTS_INVALID_CCC
C_RSTS_LAST_ERROR
C_RSTS_OBJ_INFO
C_RSTS_OPEN_READ
C_RSTS_OPEN_WRITE
C_RSTS_READ
C_RSTS_REMOVE
C_RSTS_REPAIR_OBJ
C_RSTS_WRITE C_SAPGALLPARAM
C_SAPGDEFPARAM
C_SAPGPARAM
C_SET_FILESET
C_SET_MOD_TIME
C_SET_PROCESS C_SET_SWITCH
C_SET_TASK
C_SET_TRNA
C_SET_USER
C_SIZEOF
C_START_PRINT_JOB
C_START_SPOOL_JOB C_SWITCH_MCID
C_TO_HEX
C_TRADR
C_UINT_TO_P5
C_UPDATE_PRINT_JOB
C_UPDATE_SPOOL_JOB C_USE_FLOPPY
C_USHORT_TO_P5
C_WRITE_PRINT_CONTROL
C_WRITE_SYSLOG_ENTRY
CheckLogFile CleanZombieLog
CreateNewBIProt
DATE_CONV_EXT_TO_INT
DATE_CONV_INT_TO_EXT
DBCUADEL
DBG_DELETE_TAB_DATASET
DB_BMN_TEST
DB_CLUSTER_BUFFER_FLUSH
DB_CUA_RESET
DB_C_GET_EXPLAIN
DB_DUMMY
DB_EXPLAIN_PLAN
DB_GET_REL
DB_MAP_DDTYPE
DB_NTABSTA
DB_OBJ
DB_RD_NTABHDR
DB_RM_NTAB
DB_RSQLSTA
DB_SLCCSTA
DB_SYNC_DISPL
DB_SYNC_SWITCH
DB_SYNC_WRITE
DB_TBL_RESET
DB_TBP_RESET
DB_TBX
DB_WR_NTABHDR
DEBUG_CNTL
DELETE_PXA_OBJECT
DIAG_COMBOBOX_SET_SIGTABLE
DIAG_START_PM
DIAG_XMLBLOB_GET_SENDSTRING
DIAG_XMLBLOB_RECEIVE
DIAG_XMLBLOB_SEND
DIAG_XMLBLOB_STATUS
DYCUAGEN
DYNP_CONTAINER_POSITION
DYNP_DELETE_PROPERTY
DYNP_GET_DSTATE DYNP_GET_FIRSTDYNPROELEMENT
DYNP_GET_INFO
DYNP_GET_LPCN
DYNP_GET_NEXTDYNPROELEMENT DYNP_GET_PROPERTY
DYNP_GET_PROPERTYSUPPORT
DYNP_GET_STATUS
DYNP_GET_SUBSCREEN DYNP_INIT_LOCTIM
DYNP_OKCODE_GET
DYNP_OKCODE_SET
DYNP_SET_CURSOR
DYNP_SET_PROPERTY DYNP_SET_STATUS
DY_CHECK_TRANSACTION
DY_COMPOSITES_GET
DY_DOCKING_SIZE_NOTIFY DY_GET_COMBOBOX_FOR_HELP
DY_GET_CURRENT_TRANSACTION
DY_GET_DYNPRO_EVENT
DY_GET_DYNPRO_INFOS DY_GET_ELEMENTS_TO_TRANSLATE
DY_GET_EXT_VID
DY_GET_FIELD_VID
DY_GET_FOCUS DY_GET_FOCUS_CONTROL
DY_GET_LOCAL_PARAMETER
DY_GET_MODAL_LEVEL
DY_GET_PROPERTY_BAG_STRING
DY_GET_SET_FIELD_VALUE
DY_GET_S_MESSAGE
DY_GET_TC_LOOPSIZE
DY_GET_TX_VARIANT DY_INVISIBLE_SCREEN
DY_MODIFY_SCREEN_TX_VARIANT
DY_OBJ_DIFF
DY_OBJ_GET
DY_OBJ_GETALL DY_OBJ_SET
DY_RESET_COMPRESSION
DY_SET_DISPL_AGAIN
DY_SET_DYNPRO_VARIANT DY_SET_FIELD_ATTRIBUTES
DY_SET_FOCUS_CONTROL
DY_SET_PROPERTY_BAG_STRING
DY_SET_TX_VARIANT EG_MEM_MGT
EMPTY_C_CALL
EmInfo
EsMemMgt
ForceCloseJoblog
GET_ABAPTYPE
GET_ACCESS_INFO GET_ACCESS_KEY
GET_BPABLE_STATEMENTS
GET_CURRENT_MAINSCREEN
GET_DEFAULT_SYSTEM_DEBUGGER_TOOL
GET_DEVELOPER_KEY
GET_DYNP_FIELD_VALUE
GET_ENDOFPAGE_SIZE
GET_KEYWORDS
GET_LAST_RABAX GET_LOG_LINESIZE
GET_MESSAGES
GET_NEXT_PARAMETER
GET_NUM_OF_FSREGS
GET_PARAM_TCOD GET_PATTERN
GET_PREDEF_TYPES
GET_PXA_HASH
GET_RTM_TABLE
GET_SHLIB_VERSION GET_SOURCE_POSITION
GET_STORAGE_COSTS
GET_SWITCH_TXEND
GET_SWITCH_UTASK
GET_TADIR_ACCESS_KEY GET_WINDOW_DATA
GUESS_CODEPAGE
Get1NetData
Get1PerfData
GetNetData
GetPerfData GetRuntimeInfo
HELP_CHECK_FIELD
HELP_GET_FIELD
HELP_GET_FIELDLEN
HELP_GET_FIELDS
HELP_PUT_FIELD
HOLD_UPDATE_TASK_LOCAL
ICF_DISPATCH
ICT_DISPATCH
IMPORT_DYNPRO
IMPORT_PROCLOG
INTERNET_USER_LOGON
IPL_SYSTEM
IS_ABAP_DEBUGGER_ACTIVE
IS_DEBUGGING_POSSIBLE
IXARCHIV IXARCHIV_RECEIVE
IXARCHIV_SEND
IXML_DISPATCH
LCL_FOR_LANG
LISTMGR_CONTROL LOAD_PROGRAM_TO_PXA
LOGIN_FOR_SNC_SERVER
LOGIN_INFO
MOVE_NTABS
MULTI_LOGIN_ALLOWED
NEWCKSUM NLS_BIDI_CONVERT
NLS_BIDI_SAP_TO_MS
NTAB_RESET
O2_CONVERT
OBJMGR_CONTROL
OBJMGR_GET_INFO
OMRT_DISPATCH
OMS_DEVICE_QUERY
OMS_GENERIC
OMS_JOB_CANCEL
OMS_JOB_QUERY
OTF_LAYOUT_RTL OTR_SYNC_BUFFER
OVERWRITE_PXA
PASSWORD
PRINT_COVER_PAGE
PROVIDE_SORT_CHECKS_ENABLED
PR_CHECK PR_DECLIT
PR_RESOL
PXA_TEST
PfCall
QUERY_LIST_TO_MEMORY
QUEUE_CLOSE
QUEUE_DELETE
QUEUE_ERASE QUEUE_GET
QUEUE_OPEN
QUEUE_PUT
READ_ACCESS_KEY
REINIT_LANG_CP_LOC
RESET_PROGRAM_TIMESTAMP
RFCControl
RFCSystemInfo
RMCControl
ROUND_F_TO_15_DECS
RSCPF1
RSCPF4
RSCPICT
RSCP_CCC_STAT
RSCP_COBJ_CREATE
RSCP_COBJ_DESTROY
RSCP_COBJ_USE
RSCP_GENERIC
RSCP_ICONS RSCP_NAME_OF_CODEPAGE
RSCP_TCP0F
RSEC_AB_ACCESS
RSEC_AB_RCHECK
RSEC_GEN_PASSWD
RSEC_GEN_RAND RSPOA1DIR
RSPOA1JDIR
RSPOA1PDIR
RSPOA2DIR
RSPOA2JDIR
RSPOA2PDIR
RSPOA9DIR
RSPOA9JDIR RSPOA9PDIR
RSPOACSD
RSPOADP
RSPOAEPJ
RSPOAIP
RSPOAOSD
RSPOAPCC
RSPOARNS
RSPOARPAB
RSPOARSD RSPOAWSD
RSPOVERSION
RSPO_ABAP_DUMMY
RSPO_CACHE_CONTROL
RSTGTEST
RSTR_FUNC
RTM_GET_DATA RTM_INFO
RaiseEvent
ReadLogDirA
ReadLogPartitionA
Reentrance_Ticket
RemoveLogPartitionA RemoveOldBIProt
ReorgLogFile
RfcImport
RstrDateConv
SAPCORE
SAPTUNE
SAVEONERROR
SAVE_BREAKPOINTS
SC_SYMBSTRAT_INIT
SEL_PAR_UC_CONV_CHECK
SEMSTA SET_ACCESS_KEY SET_DEFAULT_DEBUGGER_TOOL
SET_DYNP_FIELD_VALUE
SET_EXPECTED_RABAX
SET_LIST_SIZE SET_LOG_LINESIZE
SET_MAX_RUDILOCKS
SET_P_A_TYPE
SET_SWAP_ALL
SET_SWITCH_TXEND SET_SWITCH_UTASK_OFF
SET_TRANS_VAR
SET_WINDOW_DATA
SHMINFO
SHM_MODELOCKREF_INFO SNC_ABAP_INFO
SNC_ABAP_SERVICE
SSF_ABAP_SERVICE
STORAGE
STORAGE_SET
SUSR_USER_BUFFER SYNTAX_TRACE
SYSTEM
SYST_LOGOFF
SelectionRectangle
SendSubmitReq
SetNetData
SetPerfData TABLEVIEW_GET_INFO
TABLEVIEW_UPDATE
TEST_LANG_CP_LOC
TOUCH_PXA_OBJECT
TOUCH_REPORT TPD_CNTRL_MISC
TPD_CONTROL
ThCPICCall
ThDisplay
ThGwMon
ThNoCall
ThNoGet
ThNoRead ThSndDelUser
ThSysInfo
ThTest
ThUsrInfo
ThVBCall
ThVersion
ThWpInfo
TrCall
TranslateSource TriggerBtcAction
UMG_CP_FOR_TEXT
UMG_WORD_SEP
UNSET_PARAMETER
VMIT_GET_MEASUREMENT_RESULTS VMIT_START_MEASUREMENT
WriteExtLog
WriteTrace
XRfcConverter
XTC_DISPATCH
XXPASS
XXPASSNET ab_SetVisibleCx
Back to top
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.