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

+ Recent posts