안녕하십니까
회사에서 플랜트를 확장하면서 난항을 겪고 있어 문의 드립니다.
현재는 플랜트 1개로 운영중인 ECC 입니다.
향후 플랜트가 2개이상으로 HANA에서 운영할 예정입니다.
현재는 SAP상에서 CBO(BDC) 프로그램에서 계획오더를 생성하고 있으며
자재번호/플랜트/수량/생산버전/창고등...의 정보만 BDC로 실행해서 계획오더번호가 자동으로 채번되고 있습니다.(숫자로 구성)
-> 1) 이 채번되는 넘버레인지가 세팅된 오브젝트를 알고 싶습니다.
현재 이 프로세스에서 생산 LEGACY 프로그램에서 계획오더번호를 만들고 그걸 SAP에 인터페이스 받아서
SAP는 받은 번호 그대로 생성하려고 합니다.
-> 2) 현재는 MD11에서 수동생성(원하는 계획오더번호를 입력해서 생성)이 안되는것 같은데 이건 세팅의 문제인가요..?
-> 3) 세팅의 영역이라면 2개 이상의 플랜트가 생긴다는 가정하에 플랜트 별로 계획오더번호는 중복이 허용가능한가요 ?
아니면 계획오더 번호는 무조건 유니크한건가요 ?
(PLAF테이블상 키값이 계획오더번호 뿐이라 유니크할것으로 기대하고 있습니다.)
-> 4) 숫자가 아닌 문자도 포함될 수 있을까요 ?? (ex 기존 0012345678 -> AA12345678 등)
긴글 읽어주셔서 감사드리며, 도움 부탁드립니다
댓글 5
-
DDe8Lc
2024.12.18 17:25
추천:1 댓글
-
아좀더
2024.12.19 09:25
답변 매우 감사드립니다 !!
1) 넘버레인지 PLAF 라고 생각은 했는데 입력이 되지 않아서 다른 오브젝트인가 했습니다 ㅎㅎ
자동채번과 수동채번시 차이가 있었던것 같습니다.
2) 말씀해주신대로 9xxx...으로 시작하는 범위를 넣으니 수동으로 입력이 가능한것 확인했습니다 !
3) 위 내용을 바탕으로 플랜트에 무관하게 계획오더 중복은 없는것도 확인하였습니다 !
4) 말씀해주신 대로 문자를 포함하고자 하면 넘버레인지 범위를 ZZ0000001~ZZ9999999 등으로 세팅하면 가능할 것도 같은데
의미 파악이 되지 않아서.. 실례를 무릎쓰고 다시 문의들 드립니다 ! ㅎㅎ
[문의사항]
1) 우선 넘버레인지 간격에 No(01,02,03)의 의미가 궁금합니다.
현재로선 01(000000001~0019999999) 범위 안의 번호로 자동채번이 됩니다.(계획오더번호를 넣지 않고 저장시 해당 범위내에서 생성됨)
2) 마찬가지로 '외부'의 의미도 알고 싶습니다..
Zz..등의 범위를 넣기위해 '04'등을 추가해야 하면 좋을지 등 고려해보려 합니다.
3) 현재 03 / 외부체크 인 00900000~009999999는 수동입력이 가능합니다.(02 / 외부체크인 002...는 또 안되네요..?)
-
DDe8Lc
2024.12.19 11:04
1) T460D 테이블 참조 합니다
IMG 세팅으로는 SPRO : 자재관리 -> 소비기준계획 -> 번호 범위 -> 수동처리 번호범위 정의 : 계획오더 - 번호범위 : 라인 선택 후 세부사항
2) ZZ0000001~ZZ9999999가 아니라 009000000~ZZZZZZZZZZ 이런식으로 숫자~문자로 하셔야 할겁니다
외부는 자동 채번과 NR 상태의 관리 없이 매번 번호를 직접 지정하는 것인데
말 그대로 NR 상태를 외부에서 관리 한다는 뜻으로 보시면 됩니다
문자를 포함 시키려면 외부가 찍혀 있어야만 되는 걸로 알고 있습니다3) 1번과 동일한 내용 같네요 계획 오더를 LA로 만드는 경우의 외부 번호 범위가 03으로 설정 되어 있을겁니다
추천:1 댓글
-
아좀더
2024.12.19 11:32
다시 한번 큰 도움주셔서 감사합니다 !!
한 시스템내에 두개이상의 플랜트를 구성해서 반복제조하는 케이스가 처음이라
모르는 부분이 많습니다. 도움만 요청드리는 점 양해부탁드립니다 ^^..
혹시 이런 케이스가 일반적인 걸까요..?(기존) A 플랜트만 있음, 자동채번(숫자로구성)으로 사용
(변경) A플랜트, B플랜트가 있음
각각 Legacy 시스템에서 계획오더번호를 받아서 사용하고자함 -> SAP는 수신 후 그 번호로 수동채번
이 경우 계획오더번호에 플랜트를 구분하고자 AA99999999, BB99999999 등으로 앞에 플랜트 구분자를 넣어서 사용하고자함
이게 되지 않는다면 별도로 Legacy 시스템의 계획오더 vs SAP 계획오더 맵핑관리도 고려..아니면 03(외부)가 아닌 04, 05등을 추가로 만들어서 img에 세팅해서 이걸 바라보도록 세팅할 수도 있을까요?
가능하다면 03을 수정(009000000~0099999999 -> 0090000000~ZZZZZZZZZZZ)이 아닌
04,05를 만들어서 이것만 문자입력 가능하도록 세팅하는건 어떨까 합니다. (표준을 손대고 싶지 않아서..?) -
Hwable
2024.12.20 09:25
안녕하세요.
1. 계획오더 번호범위는 2가지 설정으로 구성되어 있습니다.
1) 번호범위 오브젝트 : T-Code : SNRO -> PLAF
2) 플랜트별 번호범위 할당 : T-Code : OMI2
따라서, 예시를 말씀드리면,
3) 번호범위 11,12 를 생성합니다.
번호 범위 11 : 3000000000~3999999999
번호 범위 12 : 4000000000~4999999999
4) 플랜트별 번호범위를 할당합니다.
플랜트 A : 번호 범위 11
플랜트 B : 번호 범위 12
그리고 가급적 번호범위에 문자는 사용하지 않는 것이 좋습니다. (자재코드채번과 같은 특수한 케이스 제외)
2. 일반적으로 번호범위는 내부채번/외부채번 둘 다 허용하나, 외부채번은 사용하지 않는 편입니다.
첫번째로, 번호범위 버퍼링 기능을 사용할 수 없기 때문이며,
두번쨰로, SAP 외부에서 발생하는 채번시스템 또는 채번룰 그 자체를 신뢰하지 않기 때문입니다.
특히 레거시 시스템과의 I/F 관계라면,
외부 채번은 그 유일성이 반드시 보장되어야 하는데 거기서 문제가 생기기 시작하면 모든것이 어긋나기 때문이죠.
( 레거시 시스템은 번호범위 오브젝트를 사용하지 않고 일반적으로 MAX + 1과 같은 로직을 사용하기 때문에,
DB 롤백 또는 사용자의 조작으로 인해 번호가 중복될 가능성이 있습니다. )
중복 가능성을 대비한 추가 로직을 SAP에 추가하는 것 또한 비용적인 Over-Head 입니다.
3. 결론적으로, 추천드리는 방식은
레거시 시스템에서 원천 데이터를 받아 SAP에서 계획오더를 생성 후, 계획오더 번호를 리턴해주는 것이 좋습니다.
레거시 시스템도 계획오더 번호가 키값이라면, 별도의 채번 룰을 가져가시고, SAP 계획오더 필드를 추가하여 추가정보로 가져가시는게 바람직합니다.
굳이 레거시 시스템의 계획오더번호 와 SAP 계획오더번호를 동일하게 가져가야 하는게 아니라면요.
P.S 레거시 시스템이 APS / MES 와 같은 시스템이라면, 더더욱 개별로 가져가도 무리가 없습니다.
예를 들어 생산오더의 경우 MES 생산오더번호와 SAP 생산오더번호는 각각의 시스템에서 생성됩니다.
MES 시스템에서는 그걸 매핑해서 가지고 있다가, 실적정보 전송시 매핑해서 보내주는 형식으로 사용하죠.
1) TCODE : SNRO -> PLAF
2) 수동으로 입력 했을 때의 범위값에 포함 안 돼서 그럴겁니다.
아마 기본은 90000000 부터 시작할 겁니다
3) 안 되는 걸로 알고 있습니다
말씀하신 대로 애초에 PLAF 테이블에 KEY값이 PLNUM 밖에 없어서..
4) 자재코드 번호 같은 거 생각하면 종료 번호를 ZZZZZZZZZZ로 하면 아마 될 수도 있을 것 같습니다