메뉴 건너뛰기

SAP 한국 커뮤니티

CBO 테이블 데이터 UPLOAD 프로그램

sapjoy 2006.12.21 18:01 조회 수 : 8005 추천:56

*&---------------------------------------------------------------------*
*& 모듈풀            ZCBO                                          *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*

INCLUDE zCBOtop.
INCLUDE zCBOf01.

INITIALIZATION.
  CLEAR: gp_tabnm.

START-OF-SELECTION.
  IF gp_tabnm(1) <> 'Z'.
     MESSAGE s001 WITH 'CBO테이블만 작업 가능합니다.'.
     EXIT.
  ENDIF.

  PERFORM check_exist_for_table  USING gv_tabnm.

  IF gv_tabnm IS INITIAL.
     MESSAGE s001 WITH '존재하지 않는 테이블 입니다.'.
     EXIT.
  ENDIF.

  PERFORM read_stucture_of_table.
  PERFORM upload_data_from_excel.





*----------------------------------------------------------------------*
*   INCLUDE ZCBOTOP
*----------------------------------------------------------------------*
REPORT zCBO  MESSAGE-ID zpp1.
DATA: gv_tabnm            TYPE char30.

DATA: gt_ref              TYPE REF TO data,
      gt_fcat             TYPE lvc_t_fcat,
      gt_fldcat           LIKE lvc_s_fcat OCCURS 0 WITH HEADER LINE.

DATA: gw_data             TYPE REF TO data.

FIELD-SYMBOLS: <data>     TYPE table.

SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-000.
  PARAMETERS:      gp_tabnm    TYPE char30  OBLIGATORY.

  SELECTION-SCREEN SKIP 1.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30) text-001.
    SELECTION-SCREEN POSITION 33.
    PARAMETERS:      p_r01      RADIOBUTTON GROUP r0.
    SELECTION-SCREEN COMMENT 35(15) text-002 FOR FIELD p_r01.
    SELECTION-SCREEN POSITION 52.
    PARAMETERS:      p_r02      RADIOBUTTON GROUP r0.
    SELECTION-SCREEN COMMENT 53(18) text-003 FOR FIELD p_r02.
  SELECTION-SCREEN END   OF LINE.
SELECTION-SCREEN END   OF BLOCK blk.




*----------------------------------------------------------------------*
*   INCLUDE ZCBOF01                                                *
*----------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  check_exist_for_table
*&---------------------------------------------------------------------*
FORM check_exist_for_table  USING p_tabnm.
  SELECT SINGLE tabname
    INTO p_tabnm
    FROM dd02l
   WHERE tabname  = gp_tabnm.
ENDFORM.                    " check_exist_for_table

*&---------------------------------------------------------------------*
*&      Form  read_stucture_of_table
*&---------------------------------------------------------------------*
FORM read_stucture_of_table.
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
       EXPORTING
            i_structure_name     = gp_tabnm
       CHANGING
            ct_fieldcat          = gt_fcat.

  IF sy-subrc <> 0.
     MESSAGE e000 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL METHOD cl_alv_table_create=>create_dynamic_table
       EXPORTING
            it_fieldcatalog = gt_fcat
       IMPORTING
            ep_table        = gt_ref.

  ASSIGN gt_ref->* TO <data>.
ENDFORM.                    " read_stucture_of_table

*&---------------------------------------------------------------------*
*&      Form  upload_data_from_excel
*&---------------------------------------------------------------------*
FORM upload_data_from_excel.
  DATA: lv_filenm            TYPE rlgrap-filename.

  lv_filenm = 'C:'.

  CALL FUNCTION 'UPLOAD'
       EXPORTING
            filename = lv_filenm
            filetype = 'DAT'
       TABLES
            data_tab = <data>
       EXCEPTIONS
            conversion_error  = 1
            OTHERS            = 2.

  IF sy-subrc = 1.
     MESSAGE s001 WITH 'Data conversion 오류.'.
     RETURN.
  ELSEIF sy-subrc > 1.
     MESSAGE s001 WITH '기타 오류.'.
     RETURN.
  ENDIF.

  IF <data>[] IS INITIAL.
     EXIT.
  ENDIF.

  IF p_r01 = 'X'.              " 추가/수정
     MODIFY (gp_tabnm)  FROM TABLE <data>.
  ELSE.
     DELETE (gp_tabnm)  FROM TABLE <data>.
  ENDIF.

  COMMIT WORK.

  MESSAGE s010.
ENDFORM.                    " upload_data_from_excel




번호 제목 글쓴이 날짜 조회 수
128 SAP 버퍼를 다시 설정하는 방법 Wise 멘토 2013.10.05 7608
127 SAP Netweaver 설치 시스템사양 Tip [1] 양키 2012.09.21 7616
126 ALV 버퍼 CLEAR 프로그램 [10] sapjoy 2008.09.25 7654
125 CBO 테이블 데이터 변경 프로그램 [10] sapjoy 2008.03.29 7661
124 BAPI_DELIVERYPROCESSING_EXEC 납품문서 만들때 사용하세요 노름마치 2007.10.30 7663
123 SALV Webdynpro for abap tutorial [6] Wise 멘토 2011.11.15 7688
122 What Are Lock Objects ? D.Y.Kim 2007.07.20 7724
121 BAPI_RESERVATION_CREATE1 MB21의 예약생성시 사용하세요. [2] 노름마치 2007.12.11 7775
120 난수발생 함수. [3] 무풍지대 2010.06.17 7784
119 문자열에서 특정문자(열) 변경 및 삭제 [9] Delight 2008.04.24 7802
118 move 구문 [4] sapjoy 2006.12.03 7805
117 sap 화면 웹(web)으로 띄우기(ITS, SAPGUI HTML) [4] file sapjoy 2014.11.14 7872
116 온라인 스크린에서 SELECT-OPTION 사용하기 [1] sapjoy 2007.02.12 7878
115 BAPI_PR_CREATE 구매요청 생성시에 사용하세요. 이렇게도 쓸 수 있군요. [1] 노름마치 2007.12.11 7976
» CBO 테이블 데이터 UPLOAD 프로그램 [5] sapjoy 2006.12.21 8005
113 색상 정리 파일. [15] file 공백 2012.03.08 8031
112 유지보수 view 생성 후 Field selection 화면 나오게 하려면? [7] file 나침반친구 2007.08.09 8036
111 ALV에 아이콘 넣는 방법 [1] 푸른밤 2007.08.01 8044
110 Internal Table 알아보기 [15] file 양키 2010.12.21 8067
109 [Function]달력 팝업창을 뛰워보자 [14] file 양키 2010.10.07 8083