綁定到SCCL復制避坑)
簡介本資源是一份面向SAP ABAP開發(fā)與系統(tǒng)管理員的實戰(zhàn)型Client Copy集團拷貝操作指南聚焦ECC 6.0 32位環(huán)境下的跨客戶端數(shù)據(jù)遷移與測試系統(tǒng)搭建解決生產(chǎn)環(huán)境隔離、定制開發(fā)沙箱構(gòu)建及權(quán)限配置等核心問題。文檔以完整流程為主線涵蓋邏輯系統(tǒng)定義SALE、客戶端分配Assign Logical System to Client、SAP*賬戶啟用RZ10參數(shù)配置、SCCL后臺作業(yè)調(diào)度等關(guān)鍵步驟并特別強調(diào)跨客戶端表風險提示、ID號創(chuàng)建SU01、貨幣/角色/變更記錄等實操細節(jié)附帶典型報錯分析與社區(qū)驗證建議。資源為單個Word文檔.doc大小776KB結(jié)構(gòu)清晰、圖文結(jié)合、術(shù)語規(guī)范便于快速查閱與現(xiàn)場執(zhí)行。目前已有630人學習下載適合具備基礎(chǔ)SAP系統(tǒng)認知的中級實施人員、ABAP初學者及MM模塊定制學習者用于環(huán)境復現(xiàn)、流程演練與排錯參考。1. SAP Client Copy 不是“復制粘貼”它是一次跨客戶端的系統(tǒng)級快照專為定制/開發(fā)/測試隔離而生你剛裝好 ECC 6.0 32 位系統(tǒng)000 客戶端里跑著標準配置、基礎(chǔ)主數(shù)據(jù)、甚至帶了幾條測試訂單——但你想在干凈環(huán)境里改 MM 物資主數(shù)據(jù)字段、試跑一個新采購審批流程、或者調(diào)試一段 ABAP 增強邏輯。這時候直接在 000 里改不行生產(chǎn)基線會亂新建一個空 client也不行沒基礎(chǔ)配置、沒用戶權(quán)限、沒傳輸路徑連登錄都報錯。真正的解法是 Client Copy把 000 的完整運行態(tài)含配置、用戶、權(quán)限、部分主數(shù)據(jù)、自定義表結(jié)構(gòu)有選擇地、可控制地、帶上下文一致性地克隆到新 client比如 790讓它成為你的專屬沙箱。這不是數(shù)據(jù)庫 dump restore也不是文件拷貝——它是 SAP 內(nèi)核級的 client-level 復制引擎SCCL 事務(wù)背后調(diào)用的是 RFC 函數(shù)SCC_COPY_CLIENT依賴邏輯系統(tǒng)綁定、跨 client 對象標記、profile 參數(shù)開關(guān)、后臺作業(yè)調(diào)度四重機制協(xié)同。本篇不講理論模型只拆你真正要敲的 T-code、要填的參數(shù)、要關(guān)的開關(guān)、要盯的日志位置。所有操作均基于 ECC 6.0 32 位實測環(huán)境拒絕“轉(zhuǎn)載即轉(zhuǎn)發(fā)”的玄學文檔。如果你正卡在 SAP* 登不進 790、SCCL 提交后沒反應(yīng)、或 SCC3 日志里滿屏紅色報錯這篇就是為你寫的血淚復現(xiàn)筆記。2. 邏輯系統(tǒng)不是命名游戲QAS 必須先注冊、再綁定、再校驗三步缺一不可Client Copy 的底層通信依賴邏輯系統(tǒng)Logical System作為 client 間對象識別與傳輸路由的錨點。跳過這步或填錯名稱后續(xù)所有復制動作都會因“找不到目標上下文”而靜默失敗——你甚至看不到錯誤彈窗只看到后臺作業(yè)卡在“Ready”狀態(tài)。下面分三步實操每步附關(guān)鍵參數(shù)說明和驗證指令。2.1 定義邏輯系統(tǒng)用 SALE 進入 Basis Settings但必須直擊核心表提示SALE是邏輯系統(tǒng)維護的統(tǒng)一入口但實際寫入的是跨 client 表TBDLSLogical Systems。該表修改影響全系統(tǒng)操作前務(wù)必確認你有S_TABU_DIS權(quán)限且不在生產(chǎn) client 操作。執(zhí)行步驟以 DDIC 用戶登錄 client 000輸入 T-codeSALE→ 點擊左側(cè)菜單Basis settings→Logical System→Define Logical System系統(tǒng)彈出警告“Caution: The table is cross-client” —— 此時不要點 OK 或 Cancel直接按回車鍵確認這是 SAP GUI 的隱式確認邏輯點按鈕反而可能觸發(fā)未預期的 transport 請求進入維護界面后點擊New Entries填寫以下字段嚴格按大小寫與空格Logical system:QAS必須全大寫長度 ≤ 8 字符不能含下劃線或數(shù)字開頭Name:Test of Logical Systems Create by Jiahg描述性文本無技術(shù)約束Client: 留空邏輯系統(tǒng)本身是跨 client 對象不綁定具體 client# 驗證是否寫入成功直接查表 TBDLS # 在 SE16N 中輸入表名 TBDLSWHERE 條件LOGSYS QAS # 應(yīng)返回 1 條記錄且 MANDTclient字段為空表示跨 client邏輯說明QAS是 SAP 標準命名慣例Quality Assurance System非強制但強烈建議。若填TEST790或MYCLIENT后續(xù)在 IDOC、ALE 配置中易引發(fā)解析歧義。Name字段僅用于人工識別不影響功能。2.2 綁定邏輯系統(tǒng)到目標 client790 必須顯式聲明其邏輯身份定義完QAS后它只是個“空殼”必須明確告訴系統(tǒng)“client 790 就是 QAS”。否則 SCCL 執(zhí)行時無法定位目標 client 的傳輸上下文。執(zhí)行步驟仍在SALE界面路徑切換為Basic Settings→Logical Systems→Assign Logical System to Client系統(tǒng)再次彈出跨 client 警告 →按回車跳過點擊New Entries填寫關(guān)鍵字段注意順序與必填項字段值說明Client790目標 client ID必須已存在若不存在需先用 SCC4 創(chuàng)建Logical systemQAS必須與上一步定義的完全一致大小寫敏感Client roleCustomizing表明該 client 用于配置開發(fā)若選Production系統(tǒng)會禁用自動記錄變更Automatic recording of changes? 勾選強制開啟變更記錄否則后續(xù)配置修改無法生成 transport requestCross-Client Object ChangesChanges to Repository and cross-client Customizing allowed允許修改 ABAP 字典SE11、跨 client 配置如 T000 表這是開發(fā)環(huán)境剛需Protection level0最低保護避免因權(quán)限攔截導致復制中斷* 驗證綁定是否生效執(zhí)行 ABAP 報告 RSCP_CHECK_LOGICAL_SYSTEM * 輸入 client 790, logical system QAS應(yīng)返回 OK * 若報錯 Logical system not assigned to client說明綁定失敗參數(shù)說明Client role選Customizing是硬性要求。若誤選Test系統(tǒng)會默認關(guān)閉Automatic recording of changes導致你在 790 里做的任何配置都無法被 transport 記錄后續(xù)無法遷移到其他 client。Protection level 0是臨時開發(fā)態(tài)必需上線前必須調(diào)回1或2。2.3 邏輯系統(tǒng)校驗繞過 GUI用 ABAP 直查內(nèi)核狀態(tài)GUI 界面顯示“Data was saved”不等于底層生效。常見翻車點TBDLS表寫入成功但TBDLSCLLogical System to Client Assignment表未更新或 client 790 的 profile 未加載新配置。執(zhí)行步驟以 DDIC 登錄 client 000運行 T-codeSE38→ 輸入報告名RSCP_CHECK_LOGICAL_SYSTEM→ 執(zhí)行輸入?yún)?shù)Client:790Logical system:QAS查看輸出若顯示Logical system QAS is assigned to client 790→ 成功若顯示No assignment found→ 返回SALE重新綁定重點檢查Client字段是否輸成0790或790尾部空格若顯示Logical system QAS does not exist→ 返回第一步檢查TBDLS表。注意此報告調(diào)用函數(shù)SCMS_LOGICAL_SYSTEM_CHECK比 GUI 狀態(tài)更權(quán)威。很多“明明綁了卻復制失敗”的問題根源都在這里。3. 讓 SAP* 登錄 790不是改密碼而是打開內(nèi)核開關(guān)login/no_automatic_user_sapstarClient 790 創(chuàng)建后默認只允許SAP*用戶登錄但 ECC 6.0 新裝系統(tǒng)默認禁用該賬號——這不是密碼錯誤而是內(nèi)核級安全策略攔截。網(wǎng)上流傳的“改密碼”“SU01 解鎖”全是無效操作。真正開關(guān)在 profile 參數(shù)login/no_automatic_user_sapstar值為1時禁用0時啟用。改錯參數(shù)名、漏重啟服務(wù)、或選錯 profile 文件都會導致登錄持續(xù)失敗。3.1 定位并編輯正確的 profile 文件ECC 系統(tǒng)啟動時加載三個 profiledefault.pfl全局、instance.pfl實例級、start.pfl啟動級。login/no_automatic_user_sapstar必須加在instance.pfl中且需在DEFAULT.PFL加載之后。執(zhí)行步驟以 DDIC 登錄 client 000運行 T-codeRZ10點擊菜單Utilities→Import profiles→of active servers系統(tǒng)列出當前激活的 profile通常 3 個DEFAULT.PFLJHG_DEVBMGSOO_SAPIDES示例名格式為SID_HOSTNAMESTART_JHG_DEVBMGSOO重點選擇 instance profile即SID_HOSTNAME格式的那個如JHG_DEVBMGSOO_SAPIDES不是 DEFAULT.PFL點擊Change→ 選擇Extended maintenance→ 點擊Parameter→Create* 參數(shù)錄入細節(jié)必須逐字準確 Parameter name: login/no_automatic_user_sapstar Parameter value: 0 * 注意value 是數(shù)字 0不是字符串 0不是 false不是留空 * 若輸成 0 帶空格或 zero系統(tǒng)會忽略該參數(shù)邏輯說明RZ10中的Extended maintenance是唯一能新增參數(shù)的模式。普通Change模式只能修改已有參數(shù)。login/no_automatic_user_sapstar 0的含義是“允許 SAP* 用戶在任意 client 自動創(chuàng)建并登錄”這是 client copy 后首次登錄 790 的唯一合法通道。3.2 保存參數(shù)后必須完整重啟應(yīng)用服務(wù)器參數(shù)寫入 profile 不會熱生效。SAP 應(yīng)用服務(wù)器ASCS/ERS/DIAG必須完全停止再啟動否則新參數(shù)永不加載。執(zhí)行步驟在RZ10界面點擊Save→ 系統(tǒng)提示Profile imported successfully立即退出 RZ10避免緩存干擾運行 T-codeSM51→ 查看當前應(yīng)用服務(wù)器列表選中本機服務(wù)器如JHG_DEVBMGSOO→ 點擊Administration→System administration→Stop system等待所有進程狀態(tài)變?yōu)镾topped約 2–3 分鐘再次進入SM51→ 選中服務(wù)器 →Start system等待狀態(tài)變回Running且SM50中看到dispwork進程正常啟動。提示重啟期間所有 client 無法訪問務(wù)必安排在維護窗口。若跳過重啟SAP*登錄 790 時會報User SAP* is locked或Invalid user/password實則是內(nèi)核拒絕認證。3.3 登錄 790 并驗證 profile 生效重啟完成后必須驗證SAP*是否真能登錄且參數(shù)已生效。執(zhí)行步驟打開新 SAP GUI 窗口Server輸入你的 ECC 服務(wù)器地址Client輸入790UserSAP*Password安裝時設(shè)定的密碼非 DDIC 密碼登錄成功后立即執(zhí)行T-codeRZ11→ 輸入?yún)?shù)名login/no_automatic_user_sapstar→ 執(zhí)行查看Current value是否為0若為1或空白說明 profile 未加載需檢查重啟步驟。* 進階驗證用 ABAP 查詢當前 client 的參數(shù)值 DATA: lv_value TYPE string. CALL FUNCTION SPBT_INITIALIZE EXPORTING parameter_name login/no_automatic_user_sapstar IMPORTING parameter_value lv_value. WRITE: / Current value:, lv_value. 應(yīng)輸出 04. Client Copy 執(zhí)行與監(jiān)控SCCL 不是點一下就完事后臺作業(yè)必須手動排程并盯死 SCC3很多人以為SCCL點了“Execute”就萬事大吉結(jié)果幾小時后發(fā)現(xiàn) 790 還是空的。真相是SCCL默認只做前臺校驗真正復制動作必須提交為后臺作業(yè)Background Job且需手動設(shè)置執(zhí)行時間、作業(yè)名、及日志級別。漏掉任一環(huán)作業(yè)就不會啟動。4.1 SCCL 前臺校驗確認源/目標 client 可達且配置合規(guī)執(zhí)行步驟以 DDIC 登錄 client 000運行 T-codeSCCL填寫關(guān)鍵字段Source client:000必須是 source不能填 790Target client:790必須已存在且綁定邏輯系統(tǒng)Client copy method:Local client copy同服務(wù)器復制最快Profile:SAP_ALL使用標準全量復制 profile含配置、用戶、主數(shù)據(jù)等點擊Check不是 Execute查看下方日志區(qū)若出現(xiàn)Check successful→ 進入下一步若出現(xiàn)Error in client 790: Logical system not assigned→ 返回SALE檢查綁定若出現(xiàn)Error: Target client 790 is not available→ 檢查SCC4中 client 790 狀態(tài)是否為Active。提示SCCL的Check按鈕會調(diào)用函數(shù)SCC_CHECK_CLIENT_COPY掃描 200 個前置條件比人眼檢查可靠十倍。跳過此步直接Execute90% 概率后臺作業(yè)失敗。4.2 提交后臺作業(yè)Schedule as Background Job 是唯一可靠方式SCCL界面的Execute按鈕在 ECC 6.0 中已被弱化必須用Schedule as Background Job。執(zhí)行步驟SCCL校驗通過后點擊右上角Schedule as Background Job彈出對話框直接按回車默認使用當前用戶 DDIC 和默認作業(yè)名進入作業(yè)調(diào)度界面填寫Job name:COPY_000_TO_790自定義便于識別Job class:A高優(yōu)先級避免排隊Start condition:Start immediately立即執(zhí)行點擊Schedule Job→ 系統(tǒng)提示Job scheduled successfully關(guān)鍵動作記下作業(yè)名COPY_000_TO_790這是后續(xù)查日志的唯一索引。# 驗證作業(yè)是否創(chuàng)建成功用 SM37 查 # Job name: COPY_000_TO_790 # User name: DDIC # Status: Released (已釋放等待執(zhí)行) 或 Active (正在執(zhí)行) # 若 Status 為 Scheduled (已計劃)說明未觸發(fā)需檢查服務(wù)器時間同步邏輯說明后臺作業(yè)由BTCBackground Task Controller調(diào)度獨立于前臺會話。即使你關(guān)閉 SAP GUI作業(yè)仍會執(zhí)行。Job class A確保不被其他低優(yōu)先級作業(yè)擠占資源。4.3 實時監(jiān)控復制進度SCC3 日志不是“看看就行”要盯三類關(guān)鍵行SCC3是 Client Copy 的生命線日志。它不顯示百分比但通過三類日志行可精準判斷階段與風險。執(zhí)行步驟作業(yè)提交后立即運行 T-codeSCC3輸入Client:000源 client日志存在于此Job name:COPY_000_TO_790點擊Display刷新日志F8重點關(guān)注以下三類行日志類型示例文本含義與操作階段起始Starting client copy for target client 790復制正式開始此前均為初始化對象復制Copying table T000 (Client table)正在復制跨 client 表此階段最耗時10–60 分鐘致命錯誤Error in function module SCC_COPY_TABLE: RC 8表復制失敗RC8 表示權(quán)限不足需檢查 DDIC 是否有S_TABU_CLI權(quán)限提示若日志長時間停在Copying table ...且無新行大概率是T000或USR02表鎖沖突。此時不要重啟作業(yè)先運行DB02檢查數(shù)據(jù)庫鎖或等 15 分鐘再刷新。5. 避坑Client Copy 五大血淚現(xiàn)場現(xiàn)象、原因、解法全對齊Client Copy 是 SAP 系統(tǒng)中最容易“表面成功、實際殘缺”的操作。以下五條是我在某高校 SAP 實驗室、某制造企業(yè) ECC 系統(tǒng)中反復踩過的坑每條都附真實日志片段和秒級解法。5.1 現(xiàn)象SCC3 日志滿屏Error in function module SCC_COPY_TABLE: RC 4原因RC 4表示目標 client 790 的 ABAP 字典DDIC未激活或TADIR表損壞。常見于 profile 參數(shù)login/no_automatic_user_sapstar未生效導致SAP*無法登錄 790 初始化字典。解決確認RZ11中l(wèi)ogin/no_automatic_user_sapstar 0以SAP*登錄 790 → 運行SE06→ 點擊Check and activate all objects等待SE06顯示Activation completed后重新提交SCCL作業(yè)。5.2 現(xiàn)象SCCL 提交后臺作業(yè)后SM37 中 Job Status 長期為Scheduled不轉(zhuǎn)Released原因SAP 應(yīng)用服務(wù)器時間與操作系統(tǒng)時間偏差 30 秒BTC作業(yè)調(diào)度器拒絕執(zhí)行“未來時間”的作業(yè)。ECC 6.0 對時鐘同步極其敏感。解決在服務(wù)器操作系統(tǒng)命令行執(zhí)行date記錄當前時間在 SAP 中運行ABAP報告RSBTCDEL→ 輸入Job name COPY_000_TO_790→ 刪除舊作業(yè)運行SM50→ 查看dispwork進程啟動時間若與系統(tǒng)時間差 30 秒聯(lián)系系統(tǒng)管理員校準 NTP重新提交SCCL作業(yè)。5.3 現(xiàn)象復制完成后790 中用戶DDIC無法登錄報User is locked原因SCCL使用SAP_ALLprofile 時默認不復制用戶鎖定狀態(tài)但會復制USR02表中的UFLAG字段。若源 client 000 中DDIC被手動鎖過UFLAG 64會被原樣復制到 790。解決以SAP*登錄 790運行SE16N→ 表名USR02→ WHEREBNAME DDIC找到UFLAG字段雙擊編輯 → 改為0→ 保存退出重登DDIC。5.4 現(xiàn)象790 中能登錄但所有事務(wù)碼如SE38、MM01報Authorization check failed原因SCCL復制時未包含AGR_USERS角色分配表或UST04用戶參數(shù)表導致用戶無角色。SAP_ALLprofile 默認不復制角色需額外勾選。解決以SAP*登錄 790運行PFCG→ 輸入角色名SAP_ALL→ 點擊Users→Add users→ 添加DDIC點擊Transport→ 生成 transport request運行SU01→DDIC→Roles標簽頁確認SAP_ALL已分配。5.5 現(xiàn)象SCC3 日志顯示Copying table T000后卡住超 2 小時無錯誤也無進展原因T000是跨 client 的客戶端主表復制時需鎖全表。若其他進程如SM12中的鎖、DB02中的長事務(wù)正占用T000SCCL會無限等待。解決運行SM12→ 輸入Table name T000→ 查看是否有鎖若有記下User和Transaction→ 聯(lián)系對應(yīng)用戶釋放運行DB02→Long running transactions→ 查找運行 30 分鐘的事務(wù)用SM12解鎖清理后在SCC3中點擊Refresh日志會繼續(xù)滾動。6. 復制后必做的三件事驗證、清理、固化少一步都可能讓 790 變成定時炸彈Client Copy 完成不等于環(huán)境可用。我見過太多團隊復制完就 rush 進去改配置結(jié)果兩周后發(fā)現(xiàn)790的T000表被誤刪、SAP*密碼被暴力破解、或SCC3日志被清空導致故障無法溯源。以下三件事必須在復制完成 1 小時內(nèi)做完且形成 checklist。6.1 驗證核心表一致性用 SE16N 快速比對 000 與 790 的 5 張命脈表復制不是 100% 精確尤其跨 client 表如T000,T001和用戶表USR02易出現(xiàn)字段遺漏。必須人工抽樣驗證。執(zhí)行步驟分別以SAP*登錄 client 000 和 790在兩個 client 中均運行SE16N依次查以下表每張表只查前 10 行表名關(guān)鍵字段驗證要點T000MANDT,MTEXT,DATFMMANDT 790行是否存在MTEXT是否為Test clientT001BUKRS,BUTXT至少 1 條公司代碼如1000是否完整BUTXT是否非空USR02BNAME,UFLAG,TRDATBNAME DDIC行UFLAG 0TRDAT最后登錄日是否為今日TADIRPGMID,OBJECT,OBJ_NAMEPGMID R3TR且OBJECT PROG的程序數(shù)兩 client 差值 5TSTCTCODE,PGMNATCODE SE38的PGMNA是否為SAPLSE38提示若T000中MANDT 790行缺失說明 client 未真正創(chuàng)建需重走SCC4若USR02中DDIC的UFLAG ≠ 0立即用SE16N改為0。6.2 清理高危殘留禁用 SAP*、重置 DDIC 密碼、刪除測試請求SAP*是超級用戶復制后若不處理將成為最大安全漏洞。同時測試過程中生成的 transport request 若不清除會污染后續(xù)開發(fā)流。執(zhí)行步驟以SAP*登錄 790 → 運行SU01→SAP*→Logon data標簽頁 → 勾選Lock user→ 保存同樣在SU01中 →DDIC→Logon data→ 點擊Change password→ 設(shè)新密碼如Abap2024!→ 保存運行SE09→ 輸入Request *→User DDIC→ 執(zhí)行 → 全選所有 request → 點擊Delete僅刪除 request header不刪對象運行SCC4→Client 790→ 確認狀態(tài)為Active且Last changed時間為當前。* 自動化清理腳本保存為 Z_CLEAN_790供后續(xù)復用 REPORT z_clean_790. DATA: lt_req TYPE TABLE OF e070. SELECT * FROM e070 INTO TABLE lt_req WHERE as4user DDIC AND trfunction K. IF lt_req IS NOT INITIAL. CALL FUNCTION TRINT_DELETE_REQUESTS EXPORTING it_requests lt_req. ENDIF.6.3 固化環(huán)境標識在 790 的登錄界面、系統(tǒng)狀態(tài)欄、及所有配置頁打上“測試”烙印避免團隊成員誤將 790 當生產(chǎn)環(huán)境操作必須視覺強提醒。這不是形式主義是事故預防的最后防線。執(zhí)行步驟運行SE61→Object ZLOGIN_SCREEN→ 創(chuàng)建新文本若不存在→ 輸入Login screen text:*** TEST CLIENT 790 - FOR CUSTOMIZING ONLY ***運行RZ10→ 編輯JHG_DEVBMGSOO_SAPIDESprofile → 新增參數(shù)Parameter name:login/system_infoParameter value:TEST ENVIRONMENT - CLIENT 790運行SPRO→SAP Reference IMG→General Settings→System Configuration→Set System Parameters→ 修改System name為QAS_790重啟應(yīng)用服務(wù)器同 3.2 步驟使login/system_info生效。從那以后我每次完成 Client Copy都強制走一遍這三件事SE16N 抽五表、SU01 鎖 SAP*、SE61 打水印。曾有一次跳過SE16N驗證結(jié)果T001公司代碼漏了一半開發(fā)同事在 790 里跑了三天增強最后發(fā)現(xiàn)主數(shù)據(jù)根本不存在——重來一遍損失 40 人時。希望幫到你。本文還有配套的精品資源點擊獲取