블로그 이미지
모에샹동

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

  • total
  • today
  • yesterday

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. 6. 17. 17:03 SAP/PP

1. Assemblly Backflush

1) Yield : 양품 입고 (제품입고, 자재 출고, 액티비지 전기)

2) Scrap : 불량품 입고 (자재출고,액티비티전기)

2. Component Backflush

1) Excess Consumption : 초과 자재 투입(소비)

case. 초과 투입된 양을 알고 있을 때 (생산수량 대비하여 출고하더라도 Component Scrap을 적용하지 않아도 될 때)

2) Comonent Scrap : Component Scrap(%)을 고려한 초과 자재 투입(소비)

case. 자재 Scrap에 의해 생산수량 대비하여 추가 자재 출고하고자 할 때 ( Componet Scrap 고려)

3. Activity Backflush

1) Excess Consumptioin : Activity 초과 투입

2) Activity Scrap : 어떤 Scrap의 이유로 Activity 를 초과 투입

* Excess Consumption 과 Component Scrap 은 Ativity 전기상의 차이는 없음.

다만, Component Scrap 은 AFRU 에 Scrap Reason 입력 가능하고 , Process Type 이 구별됨 (Component Scrap: AS, Excess consumption: A )

posted by 모에샹동