关于调用C kernel functions
1、检查用户是否有权限从abap里调用C kernel functions
权限对象 S_C_FUNCT.
相关参数说明:
权限对象 S_C_FUNCT.
相关参数说明:
- PROGRAM: Name of the ABAP/4 program that contains the call. If no program name is specified, the system assumes the current program.
- ACTIVITY: Access type. The possible values are: CALL: Call C kernel function
- FUNCTION: Name of the C kernel function
示例:
TYPE-POOLS SABC.
CALL FUNCTION 'AUTHORITY_CHECK_C_FUNCTION'
EXPORTING PROGRAM = 'ZCALLTST'
ACTIVITY = SABC_ACT_CALL
FUNCTION = 'SYSTEM'.
EXCEPTIONS NO_AUTHORITY = 1
ACTIVITY_UNKNOWN = 2.
2、ABAP变量类型和C变量类型对应表
| basetype | ABAP-Datentyp | Typ in C |
| C | c with length specification | SAP_CHAR (*) [Length] |
| C_GENERIC | c without length specification | SAP_CHAR* |
| X | x with length specification | SAP_RAW (*) [Length] |
| X_GENERIC | x without length specification | SAP_RAW* |
| N | n with length specification | SAP_CHAR (*) [Length] |
| N_GENERIC | n without length specification | SAP_CHAR* |
| P | p with lengthening and decimal indication | SAP_BCD (*) [Length] |
| P_GENERIC | p without lengthening and decimal indication | SAP_BCD* |
| D | d | SAP_DATE* |
| T | t | SAP_TIME* |
| I | i | SAP_INT* |
| F | f | SAP_DOUBLE* |
| STRING | string | StrRef* |
| XSTRING | xstring | StrRef* |
| INT2 | s | SAP_SHORT* |
| INT1 | b | SAP_INT1* |
| TABLE | all Tabel references | TABH_REF* |
| OBJ_REF | all object references | ObjRef* |
| DATA_REF | all data references | FldRef* |
| STRUCT | all structure types | registrierter Typ ctype* |
| ANY | ANY | void* |
| DATA | DATA | void* |
| SIMPLE | SIMPLE | void* |
| CSEQUENCE | CSEQUENCE | void* |
| XSEQUENCE | XSEQUENCE | void* |
| NUMERIC | NUMERIC | void* |
| CLIKE | CLIKE | SAP_CHAR* |
| C_POINTER | %_C_POINTER | void** |
浙公网安备 33010602011771号