Kim Teasung
2023. 1. 5. 14:12
2023. 1. 5. 14:12
[PB, PowerBuilder]
파워빌더(PowerBuilder)는 SAP 소유의 통합 개발 환경이다. 원래 사이베이스 제품이었으나 2010년 SAP가 사이베이스를 인수하면서 SAP 소유가 되었다. 1991년 이후로 사용되었고, 1998년에는 100,000명의 사용자가 사용할만큼 최고조에 이를 만큼 꽤나 괜찮은 TooL이다. 우연히 보게 되는 내용을 정리하여 올려보았다.
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
|
|
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 |
|
이건 다시 한번 봐야 할듯~~ 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 |
|
|