블로그 이미지
모에샹동

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

  • total
  • today
  • yesterday

2009. 9. 29. 20:20 SAP/ABAP,BC

PARAMETERS: C_C AS CHECKBOX USER-COMMAND com_check.      "완료
PARAMETERS: C_C AS CHECKBOX     "완료

AT SELECTION-SCREEN.
  IF c_c = 'X'.
    c_d = 'X'.
  ENDIF.
posted by 모에샹동
2009. 6. 18. 14:57 SAP/ABAP,BC

BAdI 편집기에서는 Codng 을 하는 중

문제가 없다고 생각한 구문에서 계속 에러가 발생했다.

원인을 알아보니 BAdI 편집기의 ABAP Syntax는 기존 ABAP Workbench와 좀 다르다.

오류 없이 완성된 아래 구문을 보자.

method IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE.

DATA : BDCDATA TYPE TABLE OF BDCDATA INITIAL SIZE 0 ,
         MESSTAB TYPE TABLE OF BDCMSGCOLL INITIAL SIZE 0.

-> BDCDATA LIKE  BDCDATA OCCURS 0 WITH HEADER LINE (X)

     LIKE, OCCURS, HEADER 있는 테이블을  지원하지 않는다.

  DATA : LS_XMSEG type line of ty_t_mseg.

-> Header 있는 테이블을 지원하지 않기 때문에 테이블을 LOOP 돌리거나 할  때

    LINE Type 변수가 필요하다.  선언 구문도 type line of 를 사용해야 함.


  DATA : LS_BDCDATA type  bdcdata.

-> bdccata 에 Insert 하기 위해 선언.

  DATA : V_AUTYP TYPE AUFK-AUTYP.

  LOOP AT XMSEG INTO LS_XMSEG.
  IF LS_XMSEG-AUFNR <> ''.

  .

  CLEAR LS_BDCDATA.
  LS_BDCDATA-FNAM = 'BDC_OKCODE'.
  LS_BDCDATA-FVAL = '=WEIT'.
  INSERT LS_BDCDATA INTO BDCDATA INDEX 7.

  CALL TRANSACTION 'IW32' USING BDCDATA
                              MODE  'N'
                              UPDATE 'S'
                              MESSAGES INTO MESSTAB.

 
  ENDIF.
  ENDLOOP.

posted by 모에샹동
2009. 6. 18. 13:45 SAP/ABAP,BC

l 예제.

BAdI(MB_DOCUMENT_BAdI) 을 이용하여 새 Enhancement Implementation “Z_MB_DOCUMENT_BAdI2” 생성.

MB_DOCUMENT_BADI 의 Method(MB_DOCUMENT_BEFORE_UPDATE) 를 수정하고자 함.

1. BAdI Bullder 실행 (SE19)

사용할 BAdI 를 선택하고 “Create Implementation” 실행

( MB_DOCUMENT_BAdI 는 Old BAdI 임)

2. 새 Implementation 이름(Z_MB_DOCUMENT_BAdI_2)을 정하고 ‘확인’.

3. Implementation Short Text 를 기입하고 “SAVE” 실행

4. 생성된 Implement 을 포함시킬 Enhancement Implement 를 지정(Select)하거나 새로 생성(Create).

- Create : “생성” 실행

- Select : z_mb_document_badi (전에 만들어 두었던 것) 선택

5. 새로 생성했을 경우.

- Enhancement Implementation name/short text 기입

6. 새로 생성된 Enhancement Implementation 선택.

7. “Activate” 실행 -> 생성 및 활성화 완료.

8. SE19 에서 새로 생성된 Enhancement Implementation 을 선택하여 “EDIT” 실행

9. 좌측 창의 “Implementing Class” 를 선택하고 우측창에서 사용할 Method 선택.

10. Method 편집 창이 나옴.

- INPUT Parameter가 XMKPF, XMSEG, XVM07M 임을 알 수 있음

- 편집 창에서 원하는 내용 코딩. (코딩은 User-Exit 편집하듯 하면 됨)

- 편집 완료 후 Activate.

E.O.D ---------------

posted by 모에샹동
2009. 5. 22. 16:02 SAP/ABAP,BC

테이블 생성 후 관리 프로그램을 자동으로 만드려면...
1. SE93 실행하여 아래와 같이 옵션을 선택.

2. 아래와 같이 트랜잭션(SE30), 테이블 명을 설정한다.

Naver 태그: ,
posted by 모에샹동
2009. 5. 22. 14:58 SAP/ABAP,BC

 

CX_SY_READ_SRC_LINE_TOO_LONG

위 이유로 에러가 난다면..

소스의 LINE SIZE 가 72 자를 넘었기 때문이다.

SE38-Menu-> Utility -> setting 에서 72자로 맞추어 주면 됨.


 

 

'SAP > ABAP,BC' 카테고리의 다른 글

BAdI 생성 및 편집.  (2) 2009.06.18
테이블 유지보수 프로그램 쉽게 만들기  (0) 2009.05.22
Internal Table을 참조하는 Internal Table 선언  (0) 2009.05.22
리스트 박스 구현  (0) 2009.05.22
ABAP 날짜 관련 함수  (0) 2009.05.21
posted by 모에샹동
2009. 5. 22. 14:55 SAP/ABAP,BC

 

DATA: BEGIN OF itab OCCURS 0,

             f1  type i,

             f2  type i,

           END OF itab.

DATA : BEGIN OF ITAB2 OCCURS 0,

          F3 type i.     ---->  ‘마침표’ 임을 주목.

        INCLUDE STRUCTURE itab1.    ---->

여기도 마침표.

DATA : END OF ITAB.

Naver 태그:

posted by 모에샹동
2009. 5. 22. 14:48 SAP/ABAP,BC

********   On-line

clip_image002

MODULE INIT_SCREEN_100 OUTPUT.

  txtplant = p_werks.

  txtdate  = sy-datum.

  txttime  = sy-uzeit.

  txtbigo  = 'N'.

PERFORM LISTBOX_P_MODE_SET.        "실행모드

FORM LISTBOX_P_MODE_SET .

  TYPES: BEGIN OF TY_VRM_VALUE,

            KEY(40) TYPE C,

            TEXT(80) TYPE C,

          END OF TY_VRM_VALUE.

  DATA: LT_VRM_VALUE     TYPE TABLE OF TY_VRM_VALUE,

        LS_VRM_VALUE     TYPE TY_VRM_VALUE,

        L_FNAME          TYPE TY_VRM_VALUE-TEXT.

*-set listbox

  L_FNAME = 'TXTBIGO'.

  LS_VRM_VALUE-KEY  = 'N'.

  LS_VRM_VALUE-TEXT = '주 1회 신규 FSCT 갱신에 의한 변경'.

  APPEND LS_VRM_VALUE TO LT_VRM_VALUE.

  LS_VRM_VALUE-KEY  = 'F'.

  LS_VRM_VALUE-TEXT = 'FCST 추가 변경에 의한 계획 수정'.

  APPEND LS_VRM_VALUE TO LT_VRM_VALUE.

  LS_VRM_VALUE-KEY  = 'T'.

  LS_VRM_VALUE-TEXT = 'Trouble 등에 의한 계획 변경'.

  APPEND LS_VRM_VALUE TO LT_VRM_VALUE.

  SORT LT_VRM_VALUE DESCENDING.

  CALL FUNCTION 'VRM_SET_VALUES'

    EXPORTING

      ID     = L_FNAME

      VALUES = LT_VRM_VALUE.

ENDFORM.                    " LISTBOX_P_MODE_SET

******   Report

PARAMETERS: P_MODE TYPE CHAR1  DEFAULT 'A'  AS LISTBOX

                                            VISIBLE LENGTH 20.

Naver 태그: ,
posted by 모에샹동
2009. 5. 21. 17:17 SAP/ABAP,BC

해당월의 마지막일자.

CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
  EXPORTING
    I_DATE        = R_BUDAT-LOW
  IMPORTING
    E_DATE        = R_BUDAT-HIGH.

 

해당일자의 standard week

CALL FUNCTION 'DATE_GET_WEEK'
        EXPORTING
           date = SY-DATUM
        IMPORTING
           week = L_SPWEK. 


해당 주차의 월요일 구하기

CALL FUNCTION 'WEEK_GET_FIRST_DAY'
    EXPORTING
      week         = P_EWEEK
    IMPORTING
      date         = p_date3
    EXCEPTIONS
      week_invalid = 1
      OTHERS       = 2.

 
해당일자의 분기시작일 끝일

CALL FUNCTION 'BKK_GET_QUARTER_DATE'
  EXPORTING
    i_date          = i_datum
  IMPORTING
    e_quarter_start = t_m1date                  " 분기시작일
    e_quarter_end   = t_m3date.                 " 분기종료일
posted by 모에샹동