본문 바로가기

반응형

전체 글

(38)
MARC 테이블에 필드 추가하기(Add field to MARC) MARC테이블에 새로운 필드를 추가하려고 APPEND STRUCTURE를 생성하여 테이블에 추가하였다.그런데 예상치못한 액티브 에러..NSDM_V_MARC와 컬럼의 수가 안 맞는다고 한다. SE16N 등 테이블 내의 데이터를 확인하고 싶어도 불가능한 상황이 발생했다. 다른 테이블에 확장 필드들을 추가했을 때는 이런 에러가 발생한 적이 없었는데 MARC는 예외였다. 당황함.NSDM_V_MARC와 MARC 테이블의 컬럼을 매치시키려면 해당 뷰에도 추가해야하는데. ADT설치가 필요하다. ADT설치를 하고 Extend view를 생성해준다. ▼ 생성하였으면 아래와 같이 새로 확장한 필드의 이름을 넣어준다.여기서는 zzsgcd 라는 필드가 확장한 필드의 이름이다.완료되었으면 액티브 해주고 다시 SAP로 돌아와 ..
BAPI_PO_CREATE1 with Custom field (2) https://byjn11.tistory.com/103 BAPI_PO_CREATE1 with Custom field (1)PR에 이어 PO 생성할 때에도 새 필드를 추가해야하는 요청을 받았다.이번에는 기존에 존재하던 TAB에 추가하는 것이 아닌 새로운 탭과 필드를 추가하는 경우이다. ▼ 우선 CMOD를 실행하여 USER-EXITbyjn11.tistory.com지난 시간에는 스크린에 추가하는 것까지 진행하였다.ME21N을 통해 PO를 생성할 때는 테이블에 저장되는 것 까지는 문제가 없는데 이제 BAPI로 PO를 생성할 때 확장 필드에 대한 로직을 구현하지 않으면 값이 제대로 전달이 되지 않는다. 우선 BAPI_PO_CREATE1에서 사용하는 구조체인MEPOITEM, MEPOITEMX에 CI_EKPODB에..
BAPI_PO_CREATE1 with Custom field (1) PR에 이어 PO 생성할 때에도 새 필드를 추가해야하는 요청을 받았다.이번에는 기존에 존재하던 TAB에 추가하는 것이 아닌 새로운 탭과 필드를 추가하는 경우이다.(Customer Data 탭) ▼ 우선 CMOD를 실행하여 USER-EXIT을 실행해줄 PROJECT를 생성해준다.그리고 MM06E005을 추가해준다. ▼ PO 생성할 때 ITEM에 필드를 추가하는 것이므로소스코딩은 EXIT_SAPMM06E_016, EXIT_SAPMM06E_018,스크린은SAPLXM06 0111에 적용하면 된다.(헤더는 EXIT_SAPMM06E_006, EXIT_SAPMM06E_008, SAPLXM06 0101에 적용할 수 있다.)추가할 필드는 CI_EKPODB에 추가하였다. ▼ 방식은 PR을 추가했던 것과 유사하다. 설명은 ..
ME51N(PR) Custom field 추가 (2). BADI https://byjn11.tistory.com/99 지난 시간에 PR 발행하는 화면에 필드를 추가해달라는 요청을 받아서 해당 스크린에 필드를 추가하는 것까지 진행하였다.이번에는 실제 PR 발행하면서 로직이 들어가는 BADI를 추가하여 스크린에서 입력한 값이 최종적으로 EBAN 테이블에 저장되도록 구현할 예정이다. 우선 PR발행하는 BADI를 생성해야하므로 SE19 BADI 실행하여Create Implementation > Classic BAdI > ME_PROCESS_REQ_CUST > CREATE이름은 앞에 본인이 원하는대로 만들면 된다. 여기서는 접두사 Z 만 덧붙였다.생성을 완료하였으면 액티브를 해야 해당 BADI가 정상적으로 실행된다. ▼ 우선 METHOD-OPEN을 열어 PR발행하는 화면(ME..
ME51N(PO) Custom field 추가 (1). SCREEN-EXIT PR 발행하는 화면 Valuation 탭에 필드 추가 및 EBAN 테이블에 해당 필드의 값이 저장되도록 수정해달라는 요청을 받았다. ▼ EBAN 테이블이 PR관련 테이블이다.테이블에는 Customer Include가 존재하여 해당 Include에 추가 요청을 받은 필드를 새로 추가하였다.CI는 SAP에서 사용자가 원하는 필드를 추가할 수 있도록 스탠다드 테이블에 미리 추가해놓은 구조이다. ▼ 추가해야할 필드의 위치는 Function Group : MEGUI / Screen Number : 3320 이다.Layout을 열어 확인해보면 MEREQ3320구조에 해당 서브스크린의 필드들이 표시되어 있다. 해당 스크린에서 DB까지 데이터를 전송하려면 MEREQ3320 구조체와 EBAN 테이블에 동일한 필드로 서로..
라인별 중복 데이터 체크하기 DATA: LV_MESSAGE TYPE STRING.DATA(LT_LIST) = GT_LIST.LOOP AT LT_LIST INTO DATA(LS_LIST) GROUP BY ( KOSTL = LS_LIST-KOSTL KSTAR = LS_LIST-KSTAR COUNT = GROUP SIZE ) INTO DATA(LS_DUP). CHECK LS_DUP-COUNT > 1. LV_MESSAGE = '중복된 코스트센터, 원가요소가 존재합니다.'.ENDLOOP. 코스트센터(KOSTL)와 원가요소(KSTAR) 필드를 기준으로 중복 데이터를 체크하는 방법
연도, 월 선택 POP-UP 띄우기(POPUP_TO_SELECT_MONTH) 우선 SELECTION-SCREEN 영역에  AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SPMON.  PERFORM F4_SPMON CHANGING P_SPMON. 아래는 PERFORM 문 추가*&---------------------------------------------------------------------**& Form F4_SPMON*&---------------------------------------------------------------------**& *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SPMON.*& PERFORM F4_SPMON CHANGING P_SPMON.*&-------------------..
다른 프로그램 ALV DATA 가져오기(CL_SALV_BS_RUNTIME_INFO) DATA: GT_DATA TYPE TABLE OF ZCOS1010.  DATA: LR_DATA TYPE REF TO DATA.  FIELD-SYMBOLS:  TYPE ANY TABLE.  CL_SALV_BS_RUNTIME_INFO=>SET( EXPORTING DISPLAY  = ABAP_FALSE                                          METADATA = ABAP_FALSE                                          DATA     = ABAP_TRUE ).  SUBMIT ZCOR1010 WITH P_KOKRS EQ P_KOKRS                  WITH P_BUKRS EQ P_BUKRS                  WITH..

반응형