본문 바로가기

반응형

SAP

(7)
가격결정절차. VOFM에 코딩하면 다 적용이 될까? 고객마다 정말 다양한 가격결정절차가 있다. 현재 프로젝트 진행중인 고객은 자재 BOM구성이 상위자재A 에 하위자재 1(장비), 2345(기타 소모품)를 가지고 있다. 여기서 상위자재A만 가격관리 대상이다. 현재 고객의 요구사항은 가격관리 기준은 상위자재로 하지만 오더 생성 시, 상위자재A 가격을 하위자재의 1번(장비)에 밀어주어 자동으로 가격이 세팅되게 해달라는 것이었다. 그럼 이것을 바로 VOFM 계산식과 EXIT을 수정하면 되느냐 ? NO~! 그렇게 간단하게 되지 않는다. 우선 조건 유형을 살펴봐야 한다. ▼ 위에 그림을 보면 수동 입력이라는 칸이 있다. 이 항목이 현재 'D'라는 값으로 설정되어 있다. 이것은 아래 그림과 같이 사용자가 수동으로 입력을 할 수 없다는 것을 의미한다. 또한 'D' 값으..
Number Range 설정하기 프로젝트 하다보면 타 시스템과의 인터페이스 할 때나, CBO테이블에 Sequence 번호를 입력하는 경우가 있다. 이 때, 사용자가 직접 채번하면 휴먼에러의 가능성이 있기 때문에 시스템이 채번하는 펑션이 존재한다. 해당 펑션을 사용하려면 우선 사전 세팅이 필요하다. T-CODE : SNRO 이동해서 오브젝트 이름을 입력하고 생성 ▼ 내역과 설명은 본인 입맛대로 입력하고 번호 길이 도메인은 보통 CHAR10로 하는데 본인이 하고 싶은대로 해도 된다.! %경고는 해당 Number range에 할당된 번호가 N%만큼 되었을 경우 경고를 해준다는 기능이다. 숫자입력 ! ▼ 그 다음엔 간격을 편집해주러 이동 ! ▼ 추가 및 삭제를 통해 만들 수 있다. 01 이라는 번호 범위는 시작번호 100~~ 부터 999~까지..
Standard Transaction 필드이름 바꾸기 여러가지의 이유로 고객이 SAP 기본 프로그램에 쓰이는 필드의 이름(라벨)을 바꾸어 달라고 요청하는 경우가 있다.예를 들어, 우리는 영업문서 헤더에 버전이라는 필드가 입에 안 붙어요. 다른걸로 좀 바꿔주세요.라고 요청이 들어온다면 지금 이 글을 보면 1분만에 바꿀 수 있습니다. ▼우선 바꿀 필드의 기술적 속성을 확인하자.버전이라는 필드에 커서를 두고 F1 도움말을 호출한다.그리고 망치모양을 누르게 되면 데이터 요소를 확인할 수 있는데,이 값을 복사하거나 기억해두자 ! ▼(버전 필드의 데이터 요소는 VSNMR_V 이다.) 이어서T-CODE : CMOD로 이동 ! ▼CMOD 첫 화면에서 메뉴바에 있는 텍스트기능확장 > 키워드 > 변경에 들어가면 아래와 같은 팝업창이 열린다. ▼ 이름을 바꿔주자. 버전 → 영..
조건 테이블에서 효력시작일, 효력종료일이 중요 조건테이블(A901~)에는 KONP 테이블에 존재하는 조건레코드 번호와 효력시작일, 효력종료일이 존재한다. 조건레코드 번호 유효시작일 유효종료일 판매단가 1 2023.06.01 2023.06.30 100 2 2023.07.01 2023.07.30 110 보통 출고전기일 = 대금청구일 = 가격결정일로 해당 제품의 판매단가가 결정이 된다. Proof Of Delivery를 사용하면 고객이 물건을 받을 때 가격이 결정이 되는데, 이 경우를 제외하고는 위의 로직을 따르는게 보통이다. 그래서 보통 코딩할 때, VBKD-PRSDT 의 값이 효력시작일과 효력종료일 사이에 들어올 때를 유효한 가격으로 본다.
SD 가격결정 조건 테이블 코딩 위치 판매오더 생성 시, 가격결정 로직을 어디에다 해야 하는지 몰라서 헤맸다.. T-CODE: VOFM 에서 위의 메뉴바에 보면 '조건 값'이라고 있음 ▼ 이 Include문에서 나누기와 같은 연산을 하니까 값이 이상하게 담겨서 또 헤맸다. 외부 프로그램안의 PERFORM문 통해서 계산을 하고 다시 해당 Include문 으로 돌아오는 로직을 수행 ▼ 아래 그림과 같이 고정소수점연산이 가능한 프로그램에서 나누기를 해야 제대로 들어오기 때문에 프로그램을 만들어주었음. ▼ 별거 아니지만 처음에는 몰라서 너무 시간 낭비를 해버렸다 ㅠㅠ 끝.
클라이언트 간 복사 Workbench 및 Customizing Request를 타 클라이언트로 복사할 때 사용
SE16N에 테이블 속성이 올바르지 않을 때 개발을 하다가 테이블을 만들다보면 중간에 수정 할 일이 생긴다.근데 테이블 필드의 속성을 바꾸다보면 SE11에는 제대로 적용이 되었는데 SE16N에 데이터를 입력하려고 하면 속성이 맞지 않아서 입력이 되지 않는 경우가 있다. 아래 샘플로 만든 테이블이 있다.처음에는 FIELD라는 필드의 속성이 CHAR 4로 되어있다. 데이터도 1234 4자리만 들어가있다. FIELD의 길이를 10으로 바꾸고 활성화 한 뒤 SE16N에서 해당 필드에 다시 데이터를 입력하려고 들어가면 4자리까지 밖에 입력이 안되는 문제가 생겼다. 이럴 경우에는 SLIS 패키지에 있는 BALVBUFDEL 실행하여 이전 테이블 속성을 가지고 있는 버퍼를 삭제해준다. ▼ 사용중이었던 SE16N을 종료하고 다시 들어가면 수정했던 테이블 속성대로 ..

반응형