728x90
반응형

[PB, PowerBuilder]

파워빌더(PowerBuilder)는 SAP 소유의 통합 개발 환경이다.
원래 사이베이스 제품이었으나 2010년 SAP가 사이베이스를 인수하면서 SAP 소유가 되었다. 1991년 이후로 사용되었고, 1998년에는 100,000명의 사용자가 사용할만큼 최고조에 이를 만큼 꽤나 괜찮은 TooL이다.
우연히 보게 되는 내용을 정리하여 올려보았다.

1. 설정
1.SAP GUI 설치 한다

파워빌더 코딩 : sap 연결

OLEObject
Sap_OLE

OLEObject SapConn
Sap_OLE = CREATE OLEObject // OLE 생성
li_ret = Sap_OLE.ConnectToNewObject("Sap.Functions.Unicode") //A SAP 컴포넌트와 연계
if li_Ret <> 0 then
   Messagebox("확인", "SAP연결실패..")
   return false
end if
//Production server (PRD)
SapConn = Sap_OLE.connection // SAP CONNECTION OLE 사용

/*
운영서버 */

SapConn.ApplicationServer = "192.168.1.1" // SERVER IP ->
SapConn.SystemNumber = 00 // 디폴트 0
SapConn.user = "king" // SAP 사용자명 (실제 sap id)
SapConn.Password = "k1234" // SAP 페스워드 (실제 password)
SapConn.Client = "100" // CLIENT 번호
SapConn.Language = "KO" // LANGUAGE "KO"
If SapConn.logon(1, TRUE) <> True Then // LOGON
   messagebox("SAP : ApplicationServer 로그인 에러 "," SAP ApplicationServer 로그인 에러입니다.")
   setpointer(ARROW!)
   lb_Return = false
else
   lb_Return = true
End if
Return lb_Return

  



2. 조회
Oleobject SAP_Rfc /* SAP Main 역활 */
Oleobject SAP_Table  /* 데이터를 받을 때 사용됨 */
SAP_Rfc = Sap_OLE.Add( "여기에 RFC 이름" ) /* RFC 이름 셋팅 */

/* 조회조건 셋팅 */

ll_args = UpperBound( args_cols[] )
for i  = 1 to ll_args
  //SAP_Rfc.exports("IV_AUFNR", "20000269")
  SAP_Rfc.exports(args_cols[i], args_datas[i])
next
/* 조회하기. */
Boolean lb_SAP_Rfc_CALL = false
lb_SAP_Rfc_CALL = SAP_Rfc.CALL  /* SEND */
if lb_SAP_Rfc_CALL = true then

/* 아래 두가지는 상호 합의된 조회 결과에 대한 리턴값 */
  ls_ev_type = SAP_Rfc.imports("EV_TYPE").VALUE
  ls_ev_msg  = SAP_Rfc.imports("EV_MSG").VALUE
  if ls_ev_type <> 'S' then
  Messagebox("SAP :: EV_TYPE :: " + ls_ev_type, ls_ev_msg)
  Return false
  else
/* 테이블에 데이터 가져오기 */
  SAP_Table = SAP_Rfc.TABLES.Item( "여기에 테이블 이름")
  ll_Rcnt = SAP_Table.Rowcount
  for i = 1 to ll_Rcnt
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  next
  end if
else
  Messagebox("SAP_Rfc.CALL 오류", "RFC 실행 오류 :: " + String(SAP_Rfc.Exception) )
end if
Destroy SAP_Table
Destroy SAP_Rfc



3 저장
이건 다시 한번 봐야 할듯~~
Oleobject
SAP_Rfc /* SAP Main 역활 */

Oleobject SAP_Table  /* 데이터를 받을 때 사용됨 */
SAP_Rfc = Sap_OLE.Add( "여기에 RFC 이름" ) /* RFC 이름 셋팅 */
/* 조회조건 셋팅 */
ll_args = UpperBound( args_cols[] )
for i  = 1 to ll_args
  //SAP_Rfc.exports("IV_AUFNR", "20000269")
  SAP_Rfc.exports(args_cols[i], args_datas[i])
next
/* 조회하기. */
Boolean lb_SAP_Rfc_CALL = false
lb_SAP_Rfc_CALL = SAP_Rfc.CALL  /* SEND */
if lb_SAP_Rfc_CALL = true then
  /* 아래 두가지는 상호 합의된 조회 결과에 대한 리턴값 */
  ls_ev_type = SAP_Rfc.imports("EV_TYPE").VALUE
  ls_ev_msg  = SAP_Rfc.imports("EV_MSG").VALUE
  if ls_ev_type = 'S' then
  성공
  else
  실패
  end if
else
  Messagebox("SAP_Rfc.CALL 오류", "RFC 실행 오류 :: " + String(SAP_Rfc.Exception) )
end if
Destroy SAP_Table
Destroy SAP_Rfc



 

 

'5. SAP' 카테고리의 다른 글

[PowerBuilder] - P.B 와 SAP 연결  (0) 2022.12.14
[1th] SAP 공부 해보자 - 1일차  (0) 2022.02.23
SAP R3 ABAP 프로그램 정리.  (0) 2020.10.08
SAP HANA 장점  (0) 2020.10.01
SAP 중복 로그인 방지 Source  (0) 2020.10.01
728x90
반응형

[PB, PowerBuilder]

파워빌더(PowerBuilder)는 SAP 소유의 통합 개발 환경이다.
원래 사이베이스 제품이었으나 2010년 SAP가 사이베이스를 인수하면서 SAP 소유가 되었다. 1991년 이후로 사용되었고, 1998년에는 100,000명의 사용자가 사용할만큼 최고조에 이를 만큼 꽤나 괜찮은 TooL이다.
우연히 보게 되는 내용을 정리하여 올려보았다.

1. 설정
1.SAP GUI 설치 한다

파워빌더 코딩 : sap 연결

OLEObject
Sap_OLE

OLEObject SapConn
Sap_OLE = CREATE OLEObject // OLE 생성
li_ret = Sap_OLE.ConnectToNewObject("Sap.Functions.Unicode") //A SAP 컴포넌트와 연계
if li_Ret <> 0 then
   Messagebox("확인", "SAP연결실패..")
   return false
end if
//Production server (PRD)
SapConn = Sap_OLE.connection // SAP CONNECTION OLE 사용

/*
운영서버 */

SapConn.ApplicationServer = "192.168.1.1" // SERVER IP ->
SapConn.SystemNumber = 00 // 디폴트 0
SapConn.user = "king" // SAP 사용자명 (실제 sap id)
SapConn.Password = "k1234" // SAP 페스워드 (실제 password)
SapConn.Client = "100" // CLIENT 번호
SapConn.Language = "KO" // LANGUAGE "KO"
If SapConn.logon(1, TRUE) <> True Then // LOGON
   messagebox("SAP : ApplicationServer 로그인 에러 "," SAP ApplicationServer 로그인 에러입니다.")
   setpointer(ARROW!)
   lb_Return = false
else
   lb_Return = true
End if
Return lb_Return

  



2. 조회
Oleobject SAP_Rfc /* SAP Main 역활 */
Oleobject SAP_Table  /* 데이터를 받을 때 사용됨 */
SAP_Rfc = Sap_OLE.Add( "여기에 RFC 이름" ) /* RFC 이름 셋팅 */

/* 조회조건 셋팅 */

ll_args = UpperBound( args_cols[] )
for i  = 1 to ll_args
  //SAP_Rfc.exports("IV_AUFNR", "20000269")
  SAP_Rfc.exports(args_cols[i], args_datas[i])
next
/* 조회하기. */
Boolean lb_SAP_Rfc_CALL = false
lb_SAP_Rfc_CALL = SAP_Rfc.CALL  /* SEND */
if lb_SAP_Rfc_CALL = true then

/* 아래 두가지는 상호 합의된 조회 결과에 대한 리턴값 */
  ls_ev_type = SAP_Rfc.imports("EV_TYPE").VALUE
  ls_ev_msg  = SAP_Rfc.imports("EV_MSG").VALUE
  if ls_ev_type <> 'S' then
  Messagebox("SAP :: EV_TYPE :: " + ls_ev_type, ls_ev_msg)
  Return false
  else
/* 테이블에 데이터 가져오기 */
  SAP_Table = SAP_Rfc.TABLES.Item( "여기에 테이블 이름")
  ll_Rcnt = SAP_Table.Rowcount
  for i = 1 to ll_Rcnt
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  ls_data = SAP_Table.cell(i, "SAP의 컬럼이름")
  next
  end if
else
  Messagebox("SAP_Rfc.CALL 오류", "RFC 실행 오류 :: " + String(SAP_Rfc.Exception) )
end if
Destroy SAP_Table
Destroy SAP_Rfc



3 저장
이건 다시 한번 봐야 할듯~~
Oleobject
SAP_Rfc /* SAP Main 역활 */

Oleobject SAP_Table  /* 데이터를 받을 때 사용됨 */
SAP_Rfc = Sap_OLE.Add( "여기에 RFC 이름" ) /* RFC 이름 셋팅 */
/* 조회조건 셋팅 */
ll_args = UpperBound( args_cols[] )
for i  = 1 to ll_args
  //SAP_Rfc.exports("IV_AUFNR", "20000269")
  SAP_Rfc.exports(args_cols[i], args_datas[i])
next
/* 조회하기. */
Boolean lb_SAP_Rfc_CALL = false
lb_SAP_Rfc_CALL = SAP_Rfc.CALL  /* SEND */
if lb_SAP_Rfc_CALL = true then
  /* 아래 두가지는 상호 합의된 조회 결과에 대한 리턴값 */
  ls_ev_type = SAP_Rfc.imports("EV_TYPE").VALUE
  ls_ev_msg  = SAP_Rfc.imports("EV_MSG").VALUE
  if ls_ev_type = 'S' then
  성공
  else
  실패
  end if
else
  Messagebox("SAP_Rfc.CALL 오류", "RFC 실행 오류 :: " + String(SAP_Rfc.Exception) )
end if
Destroy SAP_Table
Destroy SAP_Rfc



 

 

'5. SAP' 카테고리의 다른 글

[PowerBuilder] - P.B 와 SAP 연결  (0) 2023.01.05
[1th] SAP 공부 해보자 - 1일차  (0) 2022.02.23
SAP R3 ABAP 프로그램 정리.  (0) 2020.10.08
SAP HANA 장점  (0) 2020.10.01
SAP 중복 로그인 방지 Source  (0) 2020.10.01
728x90
반응형

SAP ERP 설치 후속작업 리스트 (설치가 완료된  해주어야  작업들 리스트)

1. 필수사항

(1) Consistency Check (T-Code SICK, DBACockpit)

설치 후에 가장 먼저 접속하게 되면 T-Code SICK 통해 정합성 체크를 먼저 해야 

  수동으로 돌린 후에는 SAP 시스템이나 인스턴스를 시작할  자동으로 실행됨

 SICK에서 점검하는 항목은 SAP 정합성 점검 (T-Code SICK) 포스팅 참고

시스템 정합성 외에도 DB Table  Index 대한 정합성도 점검 필요 (T-Code DBACockpit)

 

(2) SAP 영구 라이선스 설치 (T-Code SLICENSE)

시스템 설치 후에는 임시 라이선스 (Temporary License) 설치되며, 3개월  유효함

이후에는 SAP 시스템에 로그인 불가

 

(3) TMS 구성 (T-Code STMS)

SAP 시스템의 변경관리를 위해 TMS 반드시 구성해야 

 

(4) 시스템 프로파일 설정  생성 (T-Code RZ10)

시스템 프로파일(Default Profile, Instance Profile)들을 설정  DB 업로드 해주어야 

 작업을 안하더라도 OS 상에는 시스템 프로파일들이 존재하지만, DB 상에는 존재하지 않는 것으로 보임

따라서 DB 업로드 시켜주는 작업 필요

 

(5) Standard Jobs 스케쥴링 (T-Code SM36)

모니터링 데이터 수집, 오래된 로그 삭제  안정적인 운영을 위해 필요한 백그라운드 작업들을 스케쥴링

 

(6) Client Copy (T-Code SCC4, SCCL 등등)

신규 설치 후에는 000, 001, 066(NetWeaver 7.5 미만) 클라이언트가 설치되어 있으며, 사용할 클라이언트를 새로 만들어주어야 

 

(7) 추가 언어 설치 (T-Code I18N)

신규 설치 시에는 영어, 독일어만 설치됨

때문에 한글이나 기타 언어를 사용하고 싶다면, 언어팩을 설치해야 

 

2. 권고사항

아래 내용들은 권고사항이지만 대부분 해야 마땅할 작업들이므로 특별한 경우가 아니라면 수행할 것을 권고

 필수와 권고는 저의 개인 의견입니다. , 아래 작업도 해줘야 하는 작업들이라는 것입니다.

 

(1) SAP 시스템 Full Backup

설치가 완료된 후에는  백업을 받아서 이후에 작업이 잘못되더라도 새로 설치하는 불상사를 방지

 

(2) Automated Initial Setup 수행 (T-Code STC01 > SAP_BASIS_SETUP_INITIAL_CONFIG 실행)

T-Code STC01에서는 라이선스 설치, 로그온 그룹 생성  신규 설치 후에 해야  작업들의 리스트가 권장 순서대로 정리되어 있으며, 해당 작업을   있는 Transaction으로 연결시켜  (쉽게 작업을 수행할  있음)

이는 권장사항으로 분류되어 있지만, 어찌보면 필수사항이라고 봐도 무방

리스트에 있는 모든 작업을   필요는 없으며 필요하다 싶은 것만 골라서 진행 가능

 

(3) SAP support connection 생성

EWA Report 생성이나 Go-live Support, SAP 원격 지원 등을 받기 위해서는 SAP Support Connection 생성해 주어야 

실제로 SAP Korea에서는 보통 On-Site 지원보다는 Incident  원격 연결 등으로 지원

 

(4) Help Document 생성

Help Portal에서 제공하는 Document들을 SAP 시스템에 설정

 

(5) Link 생성

관리 편의성을 위해 \\<sapglobalhost>\sapmnt\<SAPSID>\SYS 디렉터리를 개별 어플리케이션 서버의 <localdisk>:\usr\sap\<SAPSID>\SYS 에다가 링크 연결

이렇게 하면 개별 어플리케이션 서버에서 Profile 관리 등을 수행할  있음

또한 Transport 디렉터리를 하나의 디렉터리에서 관리하고 싶다면, \\<trans_dir_host>\sapmnt\trans 디렉터리를 개별 어플리케이션 서버의 <localdisk>:\usr\sap\trans 에다가 링크 연결

 

(6) SAP Solution Manager 연결

SAP Solution Manager 중앙집중형 SAP 제품 관리 솔루션으로, 시스템 모니터링, 비즈니스 프로세스 모니터링, DVM(Data Volume Management), CCM(Change Control Management)  다양한 기능을 제공

SAP 제품 라이선스가 있다면 기본으로 제공되는 솔루션이며, 점점  다양한 서비스를 제공하고 있음

2020 1 1 부터는 SAP Solution Manager 7.2 SP8 이상의 버전을 사용해야  (SP7 가능하긴 하지만, 수동으로 설정해주어야  것들이 있어서 권고하지 않음)

 

(7) 최신 SAP Kernel  Support Package Stacks(SPS) 적용

SAP에서는 항상 최신 버전을 사용할 것을 권고...

 

(8) Logon Group  RFC Server Group 생성 (T-Code SMLG, RZ12)

Logon Group 사용하면 SAP 로그인할  개별 서버에 접속하는 것이 아니라,  서버들을 그룹으로 묶어서 접속할  있음

또한 RFC Server Group 사용하면 RFC 사용할 때에 그룹명으로 서버에 붙을  있음

이렇게 하면 SAP 자체에서 로드 밸런싱을 해줌

 

(9) Operation Mode 설정 (T-Code RZ04)

어떻게 보면 유용하게   있는 설정

상황에 따라 Operation Mode 미리 지정

예를 들어,  시간 동안에는 사용자 접속이 많으므로 Dialog Work Process  두고, 밤에는 Batch 작업이 많으므로 Background Work Process  두도록 설정할  있음

 

(10) SLD Data Supplier 설정 (T-Code RZ70)

SLD 자신의 정보를 전달하도록 설정 (SLD 없다면 설정할  없음)

 SLD 관한 정보는 SAP에서 SLD LMDB? 포스팅 참고

 

(11) ABAP Load Generation (T-Code SGEN)

프로그램이 신규 설치된 후에, 프로그램은 DB 내에 Repository Object 형태로 있는데, 이를 Runtime 활용하기 위해서는 컴파일(Compile) 필요함

컴파일은  처음 오브젝트를 불러올    실행됨

컴파일에는 시간이  소요되며, 띵띵거리는 소리를 내는데, 사용자 입장에서는 이를 오류로 판단할 수도 있음

때문에 SGEN 통해 미리 컴파일을 하는 것이 필요

 

(12) MSCS 이중화 구성되어 있다면, saprc.dll 업데이트 수행

SAP 인스턴스가 Windows Failover Cluster 이중화되어 있다면 saprc.dll 최신 업데이트 권고

saprc.dll Windows Cluster Resource Monitor 프로세스에서 SAP 리소스 타입을 불러올  사용되는 DLL, 버그 픽스  신규 기능 호환을 위해 최신 업데이트 권장 (SAP Note 1596496 - How to update SAP Resource Type DLLs for Cluster Resource Monitor 참고)

 

 

 설치한 버전이나 제품에 따라 추가로 설정이 필요한 것이 있을  있으니  제품의 Installation Guide 참고할 필요가 있음

 

 

참고자료:

Installation of SAP Systems Based on the Application Server ABAP of SAP NetWeaver 7.1 to 7.52: MS SQL Server (https://help.sap.com/viewer/c22d9ecc82ca4ab591a91942fe5c0020/CURRENT_VERSION/en-US/9420dabb130e4ae1996b3f39e202cc6e.html)

SAP Note 1596496 - How to update SAP Resource Type DLLs for Cluster Resource Monitor (https://launchpad.support.sap.com/#/notes/1596496)

'5. SAP > BC' 카테고리의 다른 글

SAP - BC User 관리  (0) 2022.05.12
SAP - BC Client 설치  (0) 2022.05.12
SAP - BC Spool 관리 TemSe 관리  (0) 2022.05.12
SAP - BC Developer & Object Key 관리(2)  (0) 2022.05.12
SAP - BC 차근차근 (1)  (0) 2022.05.12
728x90
반응형

SAP User (계정) 유형  사용 용도

 

SAP User  5개의 유형으로 구분되며, 용도에 따라 선택하여 사용하면 됩니다.

 

1. Dialog (A)

일반적으로 End User들이 사용하는 계정으로, SAP GUI 통해 로그인하고 시스템과 Interactive 작업들을   있습니다.

관리자는 초기 비밀번호를 설정할  있으며, 사용자는 최초 로그인  초기 비밀번호를 변경하여 사용합니다.

 

2. System (B)

시스템 내부적으로 실행되는 프로세싱에 사용됩니다. , 백그라운드 작업 처리  내부 RFC 호출에 사용되는 계정입니다. 따라서 SAPGUI 통한 로그인은 불가능합니다.

관리자가 비밀번호를 설정할  있으며, 비밀번호는 만료되지 않고 계속 사용할  있습니다.

(관리자는 초기 비밀번호 설정이 아닌, 실제 사용할 비밀번호를 설정합니다.)

 

3. Communications (C)

외부 사용자(해당 SAP 시스템 외의 시스템에서 접속하는 사용자) RFC 호출을   사용하는 계정입니다. 따라서 SAPGUI 통한 로그인은 불가능합니다.

비밀번호는 사용자가 직접 바꿀  있으며, 관리자는 초기 비밀번호만 설정할  있습니다.

 

4. Service (S)

중복 로그인이 가능한 Dialog 계정입니다. , 하나의 계정을 사용해서 여러 개의 세션으로 동시 접속이 가능합니다.

주로 익명의 세션 ( 접근 ) 사용된다고 합니다.

여러 사용자가 함께 사용하는 계정인 만큼, 권한 관리를 타이트하게 해야 합니다.

비밀번호는 관리자만 변경할   있으며, 만료되지 않고 계속 사용할  있습니다.

 

5. Reference (L)

Reference 타입의 계정은 엄밀히 따지면 계정이 아닙니다. 로그인을   없거든요.

Reference 타입의 계정은 다른 계정에 권한을 상속?해주는 역할을 합니다.

 

예를 들어, 아래의 캡쳐와 같이 EMPTY01 계정에 다른 Profile이나 Role 없이 Reference User 부여해줍니다.

Reference User에는 테스트를 위해 SAP_ALL 프로파일을 부여해주었습니다.

 

 

이후 EMPTY01 계정으로 들어가면 SAP_ALL 권한으로 모든 트랜잭션을 실행시킬  있습니다.

아래는 EMPTY01 계정으로 SU01 트랜잭션을 실행한 화면 입니다.

 

Reference 타입 계정으로 로그인 시도 , 아래와 같은 에러가 발생합니다.

 

 

참고자료:

https://help.sap.com/viewer/6f3c4a7b6c4b1014a618b83e6fade755/7.01.22/en-US/3d3272396ace5534e10000000a11405a.html

https://help.sap.com/viewer/6f323fd26c4b1014996399b1f02898ae/7.01.22/en-US/4b04325ec2ad2b5ce10000000a42189c.html

'5. SAP > BC' 카테고리의 다른 글

SAP - BC 후속업무  (0) 2022.05.12
SAP - BC Client 설치  (0) 2022.05.12
SAP - BC Spool 관리 TemSe 관리  (0) 2022.05.12
SAP - BC Developer & Object Key 관리(2)  (0) 2022.05.12
SAP - BC 차근차근 (1)  (0) 2022.05.12
728x90
반응형

SAP 신규 설치  클라이언트 복제 수행 방법

신규 설치 후에는 000, 001, 066 클라이언트가 기본 생성됩니다.

 NetWeaver 7.5 이상부터는 066 클라이언트는 생성되지 않습니다.

운영 혹은 개발을 위해서는 000, 001, 066 클라이언트 외에 별도 클라이언트를 생성해서 사용해야 합니다.

 

이번 포스팅에서는 신규 설치 후에 사용할 클라이언트를 만들어보겠습니다.

 

1. 클라이언트 생성

T-Code: SCC4

 

확인

 

New Entries

 

미리 만들어 놓은 Logical System 있을 경우 선택하면 되지만,

 

신규 설치 후에는 없기 때문에 새로 생성 필요

 

Continue w/o Specifying Project

 

ALE 선택

 

ALE > Basic Sttings > Logical Systems > Define Logical System 실행

 

확인

 

New Entries

 

Logical System 정보 입력

 

기존에 사용하던 Request 활용하거나 새로 생성

 

새로 생성할 경우 Short Description 입력

 

확인

 

나가기

 

나가기

 

나가기

 

다시 Logical System 선택 화면으로 돌아와서  전에 생성한 Logical System 더블클릭

 

클라이언트 정보 입력

 

확인  저장

 

저장 완료  뒤로가기

 

생성된 클라이언트 확인

 

2. SAP* 계정 활성화

생성한 클라이언트에 최초 로그인 시에는 SAP* 계정으로 접속해야 하는데, SAP* 계정은 기본적으로 비활성화되어 있습니다.

때문에 파라미터  변경을 통해 이를 활성화시켜주는 작업이 필요합니다.

 

파라미터  확인

T-Code: RZ11

login/no_automatic_user_sapstar

 

Current Value 1 되어 있으면 비활성화 상태인 것입니다.

 

파라미터  변경

T-Code: RZ10

DEFAULT 프로파일 선택  Change

 

파라미터 생성

 

login/no_automatic_user_sapstar 파라미터 값을 0으로 설정  Copy 버튼 클릭

 

뒤로 가기

 

뒤로 가기

 

Yes

 

저장

 

프로파일 활성화

 

확인

 

SAP 재시작이 필요하다는 메시지

 

SAP 재시작

 

3. 클라이언트 카피 수행

위에서 생성한 클라이언트로 로그인 합니다.

계정은 sap*이고, 패스워드는 pass 입니다.

 

동일한 시스템 내의 클라이언트를 복제할 것이므로, 로컬 클라이언트 카피를 수횅합니다.

T-Code: SCCL

프로파일로 SAP_CUST 선택하고, Source Client 000 클라이언트를 선택합니다.

 이는 SAP 권고사항 입니다.

선택이 완료되었으면 Schedule as Background Job 클릭합니다.

 Start Immediately 누를 경우, Dialog 작업으로 수행이 되는데, 만약 타임아웃을 초과할 경우 클라이언트 카피 작업이 완료되지 않기 때문에 보통 백그라운드 작업으로 진행합니다.

 

즉시 시작을 위해 Immediately 선택합니다.

 시작 시간을 설정하고 싶으면 Immediately 선택하지 않고 Schedule Job 누르면 시작 시간을 설정할  있습니다.

 

000 클라이언트로 RFC Destination 없을 경우 새로 생성하는 작업이 필요하고, 아래와 같은 팝업이 실행됩니다.  경우, Wizard 클릭합니다.

 

Continue

 

Continue

 

Continue

 

Complete

 

000 클라이언트로 로그인합니다.

 

RFC Destination 생성이 완료되었습니다.

 

확인

 

Schedule Job

 

설정 확인  Continue

 

확인

 

카피 작업 진행 사항은 T-Code SCC3 통해서 확인할  있습니다.

 

참고자료:

https://help.sap.com/viewer/c22d9ecc82ca4ab591a91942fe5c0020/CURRENT_VERSION/en-US/a854c6521abe4ab99d3997b2fffda882.html

'5. SAP > BC' 카테고리의 다른 글

SAP - BC 후속업무  (0) 2022.05.12
SAP - BC User 관리  (0) 2022.05.12
SAP - BC Spool 관리 TemSe 관리  (0) 2022.05.12
SAP - BC Developer & Object Key 관리(2)  (0) 2022.05.12
SAP - BC 차근차근 (1)  (0) 2022.05.12
728x90
반응형

1. TemSe

TemSe 스풀, Job Log 등이 저장되는 임시 저장 공간입니다.

예를 들어, 프린트 작업이 진행될  Spool Request 발생하는데,  Request로부터 Output Data 생깁니다.  Output Data Spool Workprocess 보내지기 전에 임시로 저장되는 공간이 TemSe입니다.

<이미지 출처: https://itsiti.com/sap-print-processing>

 

2. TemSe 공간 점검

만약 Output Data Spool WorkProcess 보내지지 않고 계속 남아있다면 어떻게 될까요? TemSe 계속 쌓이겠죠? 계속 쌓이다가 한계에 도달하면  이상의 Request 받을  없게 됩니다. 그럼 안되겠죠?..

T-Code SP12 > TemSe Data Storage > Memory Allocation에서 TemSe 현황을 확인할  있습니다.

 

3. Spool 데이터 삭제

Standard Job 포함되어 있는 SAP_REORG_SPOOL 배치잡에서 실행되는 RSPO0041 프로그램에서 Complete 상태의 Spool Request 삭제할  있습니다.

기본적으로 Standard Job 스케쥴링 했다면 Complete 상태의 Spool Request 주기적으로 삭제되는 거죠.

 

하지만 문제는 Waiting 상태의 Spool Request 삭제해주지 않는다는 겁니다.

Waiting 상태의 Spool Request Spool 번호를 잡고 있어서  번호를 모두 사용하면 Spool Request 만들  없습니다.

<프로그램 RSPO_SHOW_SPO_NUM 실행 화면>

 

이러한 점을 보완해서 SAP에서는 RSPO1041이라는 프로그램을 만들었습니다.

필요하다면  프로그램을 SAP_REORG_SPOOL 포함시키는 것도 방법이   있습니다.

 

4. TemSe 정합성 점검

TemSe TST01 테이블에 TemSe 오브젝트의 헤더를 저장하고,

TST03 테이블에 TemSe 오브젝트의 데이터를 저장합니다.

당연히 TST01 테이블에서 저장하고 있는 헤더 정보와 TST03 테이블의 데이터가 일치해야 하겠죠?

이를 점검하는 방법은 RSTS0020 레포트를 실행하면 됩니다. (또는 SP12 > TemSe Data Storage > Consistency Check  통해서도 실행 가능합니다.)

 

5. Spool Data 파일시스템에 저장하는 방법

위에서 Spool 데이터(TemSe 데이터) TST03 테이블에 저장된다고 했는데, 이를 파일시스템에 파일 단위로 떨구도록 설정할 수도 있습니다.

DB 테이블에 저장할 경우 DBMS에서 관리하기 때문에 정합성이 보장되고, DB 백업을 통해 스풀 데이터도 함께 백업을   있는 장점이 있습니다. 반면에 파일 시스템에서 가져오는 것보다 느리다는 단점이 있습니다.

만약 스풀을 정말 많이 사용한다면 파일 시스템에 스풀 데이터를 저장하는 방법을 고려해보는 것도 좋을  같습니다. 하지만! DB 아니라 파일 시스템에서 관리하는 만큼 데이터의 백업도 별도로 수행해야 하고, TST01 헤더 파일 정보와 정합성이 틀어지지 않도록 관리를  해주어야 하는 단점도 있습니다. 만약 정합성이 깨진다면 복구하기 힘들다고 합니다.

 

변경하는 방법은 rspo/store_location 파라미터를 G  설정해주면 됩니다.(기본값은 db입니다.)

그러면 /usr/sap/<SID>/SYS/global/ 디렉터리에 스풀 데이터를 파일 단위로 저장하게 됩니다.

 

참고자료:

https://help.sap.com/saphelp_utilities472/helpdata/en/d9/4a8f9c51ea11d189570000e829fbbd/content.htm?no_cache=true

https://itsiti.com/sap-print-processing

https://help.sap.com/saphelp_nwmobile711/helpdata/en/fc/04ca3bb6f8c21de10000000a114084/content.htm?no_cache=true

https://launchpad.support.sap.com/#/notes/130978

https://blogs.sap.com/2013/10/15/sap-spool-overflow/

https://blogs.sap.com/2019/12/13/table-tst03-grow-fast/

https://help.sap.com/saphelp_tm80/helpdata/en/d9/4a98ba51ea11d189570000e829fbbd/content.htm?no_cache=true

'5. SAP > BC' 카테고리의 다른 글

SAP - BC User 관리  (0) 2022.05.12
SAP - BC Client 설치  (0) 2022.05.12
SAP - BC Developer & Object Key 관리(2)  (0) 2022.05.12
SAP - BC 차근차근 (1)  (0) 2022.05.12
SAP 사용자별 권한 및 T-CODE 조회 방법  (0) 2020.10.02
728x90
반응형

SAP 시스템에서 개발을 시작하려면 계정 별로 Access Key 발급받아야 합니다.

이번 포스팅에서는  Access Key 발급받는 방법을 써보려고 합니다.

새로 개발자 계정을 하나 만들어줍니다.

T-Code SU01 실행하셔서 생성하고자 하는 계정을 생성해주세요.

(상세한 계정 생성 과정은 설명하지 않겠습니다.)

 

그리고  발급을 위해 support.sap.com  접속해주세요.

상단 메뉴에서 My Support > Keys > Developer & Object Keys (SSCR)  클릭합니다.

 

SSCR 화면에서 Launch the SSCR Application 버튼을 눌러주세요.

 

그러면 현재 여러분의 S-User 계정이 가지고 있는 개발자 키들이 나옵니다.

새로 등록하기 위해 오른쪽 아래에 Register 버튼을 눌러주세요.

 

등록하고자 하는 SAP User명을 입력합니다.

여러 개를  번에 등록할  있으니 여러 줄에 걸쳐서 입력하셔도 됩니다.

입력을  하셨으면, Installation Number 선택하고 Register 버튼을 누릅니다.

 

 생성이 되었네요! 이상으로 Developer Access Key 발급이 끝났습니다.

 

'5. SAP > BC' 카테고리의 다른 글

SAP - BC Client 설치  (0) 2022.05.12
SAP - BC Spool 관리 TemSe 관리  (0) 2022.05.12
SAP - BC 차근차근 (1)  (0) 2022.05.12
SAP 사용자별 권한 및 T-CODE 조회 방법  (0) 2020.10.02
SAP 절차  (0) 2020.10.01
728x90
반응형

(1) CTS (Change and Transport System)

SAP 시스템은 보통 개발-검증-운영 3 Landscsape 구성됩니다. (경우에 따라 검증 시스템이 빠져서 2 Landscape 구성할  있습니다. 물론 권장사항은 아닙니다.)

이때 개발 시스템에서 개발한 ABAP 프로그램 같은 것들을 운영 시스템에 반영해야  때가 찾아옵니다. 이럴 때에 쓰이는 것이 CTS 입니다. Change and Transport System  그대로 변경사항을 관리해주는 시스템인 것이지요. 여기서 Target 말하자면, 개발 시스템의 Target 시스템은 검증 시스템이고, 검증 시스템의 Target 시스템은 운영 시스템인 셈입니다.

(2) TMS (Transport Management System)

CTS 안에는 TMS라고 하는 관리 시스템이 있습니다.  TMS 사용해서 Transport Domain 생성/관리하고, System Landscape 구성/관리할  있습니다.

Transport Domain이란 쉽게 말해, 변경사항을 적용할  있는 그룹을 말합니다.  Transport Domain 내에 있는 시스템끼리만 변경사항 적용이 가능한 것이지요.

TMS  자세히 알아보기 위해 T-Code STMS 실행해주세요.

STMS 메뉴 중에 Transport Routes 버튼을 클릭합니다.

 

아래 그림과 같이 저의 시스템은 3 Landscape 이며, TEP 진짜 저의 시스템이고, VIR PRD Virtual System으로 실체 없는 허상입니다.

 

 위의 캡쳐를 보면 Transport Layer, Delivery라고 되어 있는 것이 있지요?

개발 시스템인 TEP에서 검증 시스템인 VIR 가는 것에는 Transport Layer 연결되어 있고, 검증 시스템에서 운영 시스템인 PRD 가는 것에는 Delivery 연결되어 있습니다.

이건 무엇을 의미할까요?

우선 개발 시스템에서 오브젝트를 변경하면 Change Request 통해 검증 시스템으로 넘어갑니다. 이때 변경한 오브젝트가 SAP Standard Object라면 SAP 라고 이름 붙여진 Transport Layer 통해 검증 시스템으로 가고, CBO Object라면 ZTEP라고 붙여진 Transport Layer 통해 갑니다. 이렇게 그룹핑 해주는 것이지요.

그렇다면 Delivery 무엇일까요?

 글의 위에서 Change Request 릴리즈해야 다음 시스템에 넘어간다고 말씀드렸는데, Delivery 연결된 시스템 간에는 릴리즈가 따로 필요 없습니다. , 승인 절차는 따로 필요하죠. 테스트도 끝나지 않았는데 멋대로 반영되면 안되니까요.

이렇게 Transport Layer Delivery 나눈 이유에 대해 생각해봤는데, QA(검증)에서는 별도 변경을 하지 말라는 의미이지 않을까요? ㅎㅎ QA에서는 테스트만 하고 테스트 후에 문제가 발생했다면 개발 시스템에서 다시 수정하고 절차에 따르라는 의미인  같습니다.

 

다음 포스팅에서는 실제로 어떻게 Change Request 개발 > 검증 > 운영 순으로 반영할  있는지 테스트 해보겠습니다.

 

'5. SAP > BC' 카테고리의 다른 글

SAP - BC Spool 관리 TemSe 관리  (0) 2022.05.12
SAP - BC Developer & Object Key 관리(2)  (0) 2022.05.12
SAP 사용자별 권한 및 T-CODE 조회 방법  (0) 2020.10.02
SAP 절차  (0) 2020.10.01
SAP - BC - 모니터링 점검 리스트  (0) 2020.10.01

+ Recent posts