Presentation is loading. Please wait.

Presentation is loading. Please wait.

BW 3.0A ABAP Coding 2002. 05. 17. 목차 1.InfoSources. 2.InfoProvider. 3.User Exit for Variables.

Similar presentations


Presentation on theme: "BW 3.0A ABAP Coding 2002. 05. 17. 목차 1.InfoSources. 2.InfoProvider. 3.User Exit for Variables."— Presentation transcript:

1 BW 3.0A ABAP Coding 2002. 05. 17

2 목차 1.InfoSources. 2.InfoProvider. 3.User Exit for Variables.

3 1. InfoSources  Transfer Structure  Start Routioe.  Transfer Structure  Transfer Rules Routine.  InfoPackage  Data Selection  ABAP Routine.  InfoPackage  External Data  File Routine.

4 Transfer Structure  Start Routioe  레코드값 추가, 수정, 삭제. Package 단위 Structure 형태. DATA: l_s_datapak_line TYPE transfer_structure. LOOP AT datapak INTO l_s_datapak_line. IF l_s_datapak_line-/bic/zsci_0002 = '20020307'. l_s_datapak_line-/bic/zsci_0002 = '20020320'. MODIFY datapak FROM l_s_datapak_line. ENDIF. ENDLOOP. 수정 DATA: l_s_datapak_line TYPE transfer_structure. ** 1. 특정레코드 검색 후 변경사항 수정 후 추가. READ TABLE datapak INTO l_s_datapak_line. WITH KEY /bic/zsci_0002 = '20020307' l_s_datapak_line-/bic/zsci_0001 = 'KR12345'. l_s_datapak_line-/bic/zsci_0002 = '20020320'. l_s_datapak_line-/bic/zsci_0003 = 'Test'. APPEND l_s_datapak_line TO datapak. ** 2. 신규 레코드 추가. l_s_datapak_line-/bic/zsci_0001 = 'KR12345'. l_s_datapak_line-/bic/zsci_0002 = '20020320'. l_s_datapak_line-/bic/zsci_0003 = 'Test'. APPEND l_s_datapak_line TO datapak. 추가 DATA: l_s_datapak_line TYPE transfer_structure. ** 1. 특정조건 삭제. DELETE datapak WHERE /bic/zsci_0002 = '20020320'. ** 2. LOOP 돌면서 주어진 조건에 만족하는것 삭제. LOOP AT datapak INTO l_s_datapak_line. IF l_s_datapak_line-/bic/zsci_0002 = '20020307'. DELETE datapak. ENDIF. ENDLOOP. 삭제 1. InfoSources

5 Transfer Structure  Transfer Rules Routine 필드 단위.  해당 레코드의 특정필드값을 이용해서 결과값 생성.  특정필드값을 이용해서 현 시스템 테이블에서 값을 Select 해서 결과값 생성.. RESULT = TRAN_STRUCTURE-/BIC/ZSCI_0002(6). * returncode <> 0 means skip this record RETURNCODE = 0. * abort <> 0 means skip whole data package !!! ABORT = 0. 1. InfoSources

6 InfoPackage  Data Selection  ABAP Routine - 해당 InfoObject Selection 증가. DATA: l_sysdate(10) TYPE n, l_chk_date LIKE sy-datum. EXEC SQL. SELECT to_char(add_months(sysdate, -1), 'YYYYMMDD') INTO :l_sysdate FROM dual ENDEXEC. l_low = l_sysdate(6). read table l_t_range with key fieldname = 'ZENTRY'. l_idx = sy-tabix. l_t_range-sign = 'I'. l_t_range-option = 'EQ'. l_t_range-low = l_low. modify l_t_range index l_idx. p_subrc = 0. 1. InfoSources

7 InfoPackage  External Data  File Routine 1.Routine  파일이름 Coding 으로 생성할수 있음. 2.Application Server  Log. File Names. - 서버에 있는 파일이름을 특정형식에 따라 가변적으로 가져온다.  Logical File Path Definition  Assignment of physical path to logical path  Logical file name definition, cross-client Log. File Names Create  T-CODE : FILE 1. InfoSources

8 InfoPackage  External Data  File Routine 1. InfoSources

9 Log. File Names Create Sample 1. InfoSources Operating system in call R/3 application instance R/3 application name in SY-SYSID Database system in SY-DBSYS R/3 release in SY-SAPRL Host name in SY-HOST Client in SY-MANDT Log on language in SY-LANGU Date in SY-DATUM Year in SY-DATUM, 4-character Year in SY-DATUM, 2-character Month in SY-DATUM Day in SY-DATUM Day of the week in SY-FDAYW Time in SY-UZEIT Hour and minute in SY-UZEIT Hour in SY-UZEIT Minute in SY-UZEIT Seconds in SY-UZEIT T-CODE : FILE

10 File Name 확인. 1. InfoSources  Function  FILE_GET_NAME. - Logical File Path 명

11 2. InfoProvider  Update Rules  Start Routioe.  Update Rules  Data Field Calculation Routine.  Update Rules  Key Field Routine.  Update Rules  Formula.

12 Update Rules  Start Routioe 2. InfoProvider Package 단위 인터널 테이블 형태.  레코드값 추가, 수정, 삭제.  LOOP AT ~ ENDLOOP 가능.  ABAP 명령어 사용해서 레코드 편집. FORM startup TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring DATA_PACKAGE STRUCTURE /BIC/CSZBOND1 USING RECORD_ALL LIKE SY-TABIX SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update LOOP AT data_package. ** 수정, 추가, 삭제 등등 루틴 추가. ENDLOOP. * if abort is not equal zero, the update process will be canceled ABORT = 0. ENDFORM.

13 Update Rules  Data Field Calculation Routine 2. InfoProvider 필드 단위. FORM compute_data_field TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring USING COMM_STRUCTURE LIKE /BIC/CSZBOND1 RECORD_NO LIKE SY-TABIX RECORD_ALL LIKE SY-TABIX SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS CHANGING RESULT LIKE /BIC/AZBOND100-/BIC/ZSCI_0002 ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update ** COMM_STRUCTURE 의 현재 레코드값을 이용해서 ** RESULT 에 값을 생성할수 있음. * result value of the routine RESULT =. * if abort is not equal zero, the update process will be canceled ABORT = 0. ENDFORM.

14 Update Rules  Key Field Routine 2. InfoProvider 필드 단위. FORM compute_key_field TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring USING COMM_STRUCTURE LIKE /BIC/CSZBOND1 RECORD_NO LIKE SY-TABIX RECORD_ALL LIKE SY-TABIX SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS CHANGING RESULT LIKE /BIC/AZBOND100-/BIC/ZSCI_0001 RETURNCODE LIKE SY-SUBRC ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update ** COMM_STRUCTURE 의 현재 레코드값을 이용해서 ** RESULT 에 값을 생성할수 있음. * result value of the routine RESULT =. * if the returncode is not equal zero, the result will not be updated RETURNCODE = 0. * if abort is not equal zero, the update process will be canceled ABORT = 0. ENDFORM.

15 Update Rules  Formula 2. InfoProvider  Comm. Struc, Functions, Character Strin, System Fields 등을 이용해서 생성한다.  Functions  해당 Functions 에 가능한 List 가 Comm. Struc 에 표시가 된다.

16 3. User Exit for Variables  RSR00001 BW: Enhancements for global variables in reporting. RSR00002 BW: Virtual characteristics and key figures in Reportin. RSR00003 BW: Moving characteristic values. RSR00004 BW: RRI Field Mapping.  Variables Customer Exit. Text Variables.  SAP Exit Sample.

17 How to program a corresponding Include  Call up transaction CMOD in the Admin. Workbench.  Create a Project.  Select Enhancement Components.  Select Enhancement RSR00001.  Double-click on Exit EXIT_SAPLRRS0_001.  Double-click on include ZXRSRU01 within the Exit.  Add or change coding.  Don't forget to activate the Project.  Use the variable in a query. 3. User Exit for Variables

18 Interface - Importing 3. User Exit for Variables  I_VNAMName of the Variable.  I_VARTYP1: Characteristic Value. 2: Hierarchy node(s). 3: Text. 4: Formula. 5: Hierarchy.  I_IOBJNMName of the InfoObject.  I_S_COB_PROInformation about InfoObject (Dataelement, CheckTable, Length, Number of Decimals,...).  I_S_RKB1DInformation about Reporting-Object; here Query (Queryname, InfoCube,...).  I_PERIVFiscal year variant.  I_T_VAR_RANGETable with all Variables and their values.  I_STEP1: Before Variable Pop up 2: After Variable Pop up.

19 Interface Exporting 3. User Exit for Variables  E_T_RANGETable to return the values fields: low, high, sign, opt.  E_MEEHTUnit of measure.  E_MEFACNumber of Decimals for Unit.  E_WAERSCurrency Code.  E_WHFACNumber of Decimals for Currency Value.

20 Call-Sequence 3. User Exit for Variables First Call of the User-exit Pop up to enter values for the variable (if "Ready for Input" = 'X') Second Call of the User-exit if Variable of type "Mandatory variable entry" is not filled if Text-variable is not filled

21 Variables Sample 3. User Exit for Variables 0CALDAY Characteristic 참조해서 ZCALDAY2 생성.

22 User Exit Sample 3. User Exit for Variables DATA: l_s_range TYPE rsr_s_rangesid, loc_var_range LIKE rrrangeexit, l_date LIKE sy-datum. CASE i_vnam. WHEN 'ZCALDAY2'. IF i_step = 2. LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = '0I_DAYWT'. CLEAR: l_s_range, l_date. CONCATENATE loc_var_range-low(4) '0331' INTO l_date. l_s_range-low = l_date. l_s_range-sign = 'I'. l_s_range-opt = 'EQ'. APPEND l_s_range TO e_t_range. ENDLOOP. ENDIF. ENDCASE. 0I_DAYWT  Read For Input 이 설정된 Variables.. WHEN 'ZCALDAY1'. IF i_step = 1. CLEAR: l_s_range. l_s_range-low = '20020228'. l_s_range-sign = 'I'. l_s_range-opt = 'EQ'. APPEND l_s_range TO e_t_range. * CLEAR: l_s_range. * l_s_range-low = '20020331'. * l_s_range-sign = 'I'. * l_s_range-opt = 'EQ'. * APPEND l_s_range TO e_t_range. ENDIF..

23 Bex Query Sample 3. User Exit for Variables

24 Text Variables 3. User Exit for Variables 오른쪽 버튼 EDIT

25 Text Variables 사용한 Bex Sample 3. User Exit for Variables

26 SAP Exit Sample. 3. User Exit for Variables 0CALMONTH  SAP Exit List.

27 Q & A


Download ppt "BW 3.0A ABAP Coding 2002. 05. 17. 목차 1.InfoSources. 2.InfoProvider. 3.User Exit for Variables."

Similar presentations


Ads by Google