참고하실 내용은 자재 마스터의 각 view들에 대하여 설정하는 내용들을 담았지만 각 프로젝트 마다 상이하리라 봅니다.
하지만 필드들을 참조하면 모든 것들이 다 이해 가능하리라고 봅니다.
본 내용은 예측, 일반 플랜트 데이터/저장소 1 , 일반 플랜트 데이터/저장소 2, 플랜트 재고, 저장 위치 재고 view는 제외 되었습니다.
** BAPI 함수 호출부분 **
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
headdata = Gs_headdata
clientdata = Gs_clientdata
clientdatax = Gs_clientdatax
plantdata = Gs_plantdata
plantdatax = Gs_plantdatax
* forecastparameters = s_forecast
* forecastparametersx = s_forecastx
PLANNINGDATA = GS_PLANNINGDATA
PLANNINGDATAX = GS_PLANNINGDATAX
storagelocationdata = Gs_stoloc
storagelocationdatax = Gs_stolocx
valuationdata = Gs_valclass
valuationdatax = Gs_valclassx
* warehousenumberdata = s_whno
* warehousenumberdatax = s_whnox
salesdata = Gs_sales
salesdatax = Gs_salesx
storagetypedata = Gs_stotyp
storagetypedatax = Gs_stotypx
importing
return = Gs_return
tables
materialdescription = GT_matdesc
TAXCLASSIFICATIONS = GT_taxclass
unitsofmeasure = GT_uom
unitsofmeasurex = GT_uomx .
** 데이타 처리 부분..
** 기본 VIEW
Gs_headdata-material = GT_REC-MATNR.
Gs_headdata-ind_sector = 'M'.
Gs_headdata-matl_type = GT_REC-MTART.
Gs_headdata-basic_view = 'X'.
Gs_clientdatax-base_uom = 'X'.
Gs_clientdatax-matl_group = 'X'.
Gs_clientdatax-division = 'X'.
Gs_clientdatax-item_cat = 'X'.
Gs_clientdataX-DSN_OFFICE = 'X'.
Gs_clientdata-matl_group = GT_REC-MATKL. "자재그룹
Gs_clientdata-division = GT_REC-SPART. "제품군
Gs_clientdata-base_uom = GT_REC-MEINS. "기본단위
Gs_clientdata-item_cat = GT_REC-MTPOS. "일반품목범주
Gs_clientdata-DSN_OFFICE = GT_REC-LABOR. "실험실/설계실
PERFORM f_fill_bapi_uomdata . " 추가 데이타 처리 부분
PERFORM f_fill_bapi_matdescdata. " 자재 DESCRIPTION 처리 부분(언어별)
PERFORM add_sales. " 영업view처리 부분
PERFORM add_purchasing. " 구매view처리 부분
PERFORM add_mrp. " MRP view처리 부분
PERFORM add_shcdule. " 작업일정 view처리 부분
PERFORM add_fi. " 회계view 처리부분
PERFORM add_co. " 원가계산 view처리부분
*&---------------------------------------------------------------------*
*& Form ADD_CO
*&---------------------------------------------------------------------*
* 원가 VIEW
*----------------------------------------------------------------------*
form ADD_CO .
Gs_headdata-cost_view = 'X'.
Gs_headdata-account_view = 'X'.
* GS_SALESX-MAT_PR_GRP = 'X'.
GS_VALCLASSX-VAL_AREA = GT_REC-WERKS.
GS_VALCLASSX-VAL_CLASS = 'X'.
GS_VALCLASSX-PRICE_CTRL = 'X'.
GS_VALCLASSX-PRICE_UNIT = 'X'.
CASE GT_REC-VPRSV.
WHEN 'V'. GS_VALCLASSX-MOVING_PR = 'X'.
WHEN 'S'. GS_VALCLASSX-STD_PRICE = 'X'.
ENDCASE.
GS_VALCLASSX-ORIG_GROUP = 'X'.
GS_VALCLASSX-ML_ACTIVE = 'X'.
GS_VALCLASSX-ML_SETTLE = 'X'.
GS_VALCLASSX-PLND_PRICE = 'X'.
GS_VALCLASSX-PLNDPRICE1 = 'X'.
GS_VALCLASSX-PLNDPRDATE1 = 'X'.
GS_VALCLASSX-QTY_STRUCT = 'X'.
GS_PLANTDATAX-NO_COSTING = 'X'.
GS_PLANTDATAX-VARIANCE_KEY = 'X'.
* GS_SALES-MAT_PR_GRP = GT_REC-mlast. "가격결정
GS_VALCLASS-VAL_AREA = GT_REC-WERKS. "평가영역
GS_VALCLASS-VAL_CLASS = GT_REC-BKLAS. "평가클래스
GS_VALCLASS-PRICE_CTRL = GT_REC-vprsv. "가격관리 결정(S/V)
GS_VALCLASS-ML_ACTIVE = 'X'. "기본값...(DEFAULT)
GS_VALCLASS-ML_SETTLE = GT_REC-MLAST. "유형에 따른 값.(
GS_VALCLASS-PRICE_UNIT = GT_REC-PEINH. "가격단위
PACK GT_REC-PEINH TO GS_VALCLASS-PRICE_UNIT.
CLEAR: GS_VALCLASS-PLND_PRICE .
GS_VALCLASS-PLNDPRICE1 = GT_REC-ZPLP1. "미래가격 금액
CONCATENATE SY-DATUM(4) '0101' INTO GT_REC-ZPLD1.
GS_VALCLASS-PLNDPRDATE1 = GT_REC-ZPLD1. "미래가격 일자
CASE GT_REC-VPRSV.
WHEN 'V'. GS_VALCLASS-MOVING_PR = GT_REC-pvprs.
WHEN 'S'. GS_VALCLASS-STD_PRICE = GT_REC-STprs.
ENDCASE.
GS_VALCLASS-ORIG_GROUP = GT_REC-hrkft. "오리진 그룹
GS_VALCLASS-QTY_STRUCT = GT_REC-EKALR. "양적구조로 원가계산한 자재
GS_PLANTDATA-NO_COSTING = GT_REC-NCOST. "원가계산 금지
GS_PLANTDATA-VARIANCE_KEY = GT_REC-AWSLS. "원가 차이키
endform. " ADD_CO
*&---------------------------------------------------------------------*
*& Form ADD_FI
*&---------------------------------------------------------------------*
* 회계 VIEW
*----------------------------------------------------------------------*
form ADD_FI .
Gs_headdata-cost_view = 'X'.
Gs_headdata-account_view = 'X'.
* GS_SALESX-MAT_PR_GRP = 'X'.
GS_VALCLASSX-VAL_AREA = GT_REC-WERKS.
GS_VALCLASSX-VAL_CLASS = 'X'.
GS_VALCLASSX-PRICE_CTRL = 'X'.
GS_VALCLASSX-PRICE_UNIT = 'X'.
CASE GT_REC-VPRSV.
WHEN 'V'. GS_VALCLASSX-MOVING_PR = 'X'.
WHEN 'S'. GS_VALCLASSX-STD_PRICE = 'X'.
ENDCASE.
GS_VALCLASSX-ORIG_GROUP = 'X'.
GS_VALCLASSX-ML_ACTIVE = 'X'.
GS_VALCLASSX-ML_SETTLE = 'X'.
GS_PLANTDATAX-NO_COSTING = 'X'.
GS_PLANTDATAX-VARIANCE_KEY = 'X'.
* GS_SALES-MAT_PR_GRP = GT_REC-mlast. "가격결정
GS_VALCLASS-VAL_AREA = GT_REC-WERKS. "평가영역
GS_VALCLASS-VAL_CLASS = GT_REC-BKLAS. "평가클래스
GS_VALCLASS-PRICE_CTRL = GT_REC-vprsv. "가격관리 결정(S/V)
GS_VALCLASS-ML_ACTIVE = 'X'. "기본값...(DEFAULT)
GS_VALCLASS-ML_SETTLE = GT_REC-MLAST. "유형에 따른 값.(
GS_VALCLASS-PRICE_UNIT = GT_REC-PEINH. "가격단위
PACK GT_REC-PEINH TO GS_VALCLASS-PRICE_UNIT.
CASE GT_REC-VPRSV.
WHEN 'V'. GS_VALCLASS-MOVING_PR = GT_REC-pvprs.
WHEN 'S'. GS_VALCLASS-STD_PRICE = GT_REC-STprs.
ENDCASE.
GS_VALCLASS-ORIG_GROUP = GT_REC-hrkft. "오리진 그룹
GS_PLANTDATA-NO_COSTING = GT_REC-NCOST. "원가계산 금지
GS_PLANTDATA-VARIANCE_KEY = GT_REC-AWSLS. "원가 차이키
endform. " ADD_FI
*&---------------------------------------------------------------------*
*& Form ADD_SCHEDULE
*&---------------------------------------------------------------------*
* 작업일정 VIEW
*----------------------------------------------------------------------*
form ADD_SCHEDULE .
GS_HEADDATA-WORK_SCHED_VIEW = 'X'.
GS_PLANNINGDATA-PLANT = GT_REC-WERKS.
GS_PLANNINGDATAX-PLANT = GT_REC-WERKS.
endform. " ADD_SCHEDULE
*&---------------------------------------------------------------------*
*& Form ADD_MRP
*&---------------------------------------------------------------------*
* <-- p2 text
*----------------------------------------------------------------------*
form ADD_MRP .
Gs_headdata-mrp_view = 'X'.
GS_PLANTDATAX-PLANT = GT_REC-WERKS.
GS_PLANTDATAX-PL_TI_FNCE = 'X'.
Gs_plantdatax-mrp_type = 'X'.
Gs_plantdatax-mrp_ctrler = 'X'.
Gs_plantdatax-lotsizekey = 'X'.
Gs_plantdatax-proc_type = 'X'.
GS_PLANTDATAX-SPPROCTYPE = 'X'.
GS_PLANTDATAX-ISS_ST_LOC = 'X'.
Gs_plantdatax-sm_key = 'X'.
GS_PLANTDATAX-PLAN_STRGP = 'X'.
GS_PLANTDATAX-ALT_BOM_ID = 'X'.
GS_PLANTDATAX-DEP_REQ_ID = 'X'.
GS_pLANTDATAX-REP_MANUF = 'X'.
GS_PLANTDATAX-REPMANPROF = 'X'.
GS_PLANTDATAX-ASSY_SCRAP = 'X'.
GS_PLANTDATAX-QUOTAUSAGE = 'X'.
GS_PLANTDATAX-MIN_SAFETY_STK = 'X'.
GS_PLANTDATAX-COMP_SCRAP = 'X'.
Gs_plantdatax-period_ind = 'X'.
GS_PLANTDATAX-AVAILCHECK = 'X'.
GS_PLANTDATAX-PERIOD_IND = 'X'.
GS_PLANTDATA-PLANT = GT_REC-WERKS.
Gs_plantdata-mrp_type = GT_REC-DISMM . "MRP유형
GS_PLANTDATA-PL_TI_FNCE = GT_REC-FXHOR . "계획타임펜스
Gs_plantdata-mrp_ctrler = GT_REC-DISPO. "MRP관리자
GS_PLANTDATA-AVAILCHECK = GT_REC-mtvfp. "가용성점검
Gs_plantdata-lotsizekey = GT_REC-DISLS. "로트크기
Gs_plantdata-proc_type = GT_REC-BESKZ. "조달유형
GS_PLANTDATA-SPPROCTYPE = GT_REC-SOBSL. "특별조달유형
GS_PLANTDATA-ISS_ST_LOC = GT_REC-LGPRO. "출고저장위치
Gs_plantdata-sm_key = GT_REC-FHORI. "일정계획 마진키
GS_PLANTDATA-PLAN_STRGP = GT_REC-STRGR. "계획전략(생산전략)
GS_PLANTDATA-ALT_BOM_ID = GT_REC-ALTSL. "대체 BOM 선택방법
GS_pLANTDATA-DEP_REQ_ID = GT_REC-SBDKZ. "개별/일괄
GS_PLANTDATA-REP_MANUF = GT_REC-SAUFT. "반복제조 허용
GS_PLANTDATA-REPMANPROF = GT_REC-SFEPR. "REM 프로파일
GS_PLANTDATA-ASSY_SCRAP = GT_REC-ausss. "조립품 스크랩(%)
GS_PLANTDATA-QUOTAUSAGE = GT_REC-USEQU. "쿼터 조정 사용
GS_PLANTDATA-MIN_SAFETY_STK = GT_REC-eisbe. "최소안전재고
GS_PLANTDATA-PERIOD_IND = GT_REC-perkz. "기간 지시자
GS_PLANTDATA-COMP_SCRAP = GT_REC-kausf. "구성부품스크랩 (%)
GS_PLANTDATA-PERIOD_IND = 'M'. "기간 지시자
endform. " ADD_MRP
*&---------------------------------------------------------------------*
*& Form ADD_PURCHASING
*&---------------------------------------------------------------------*
* 구매 VIEW
*----------------------------------------------------------------------*
form ADD_PURCHASING .
GS_HEADDATA-PURCHASE_VIEW = 'X'.
Gs_plantdatax-plant = GT_REC-WERKS.
Gs_plantdatax-pur_group = 'X'.
Gs_plantdatax-gr_pr_time = 'X'.
GS_PLANTDATAX-AVAILCHECK = 'X'.
GS_CLIENTDATAX-PO_UNIT = 'X'.
Gs_plantdata-plant = GT_REC-WERKS.
GS_CLIENTDATA-PO_UNIT = GT_REC-TXT02. "구매오더단위
Gs_plantdata-pur_group = GT_REC-EKGRP. "구매그룹
Gs_plantdata-gr_pr_time = GT_REC-webaz. "입고소요일수
GS_PLANTDATA-AVAILCHECK = GT_REC-mtvfp. "가용성점검
endform. " ADD_PURCHASING
*&---------------------------------------------------------------------*
*& Form ADD_SALES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form ADD_SALES .
Gs_headdata-sales_view = 'X'.
Gs_salesx-sales_org = GT_REC-VKORG.
Gs_salesx-distr_chan = GT_REC-vtweg.
Gs_salesx-delyg_plnt = 'X'.
GS_SALESX-ACCT_ASSGT = 'X'.
GS_SALESX-ITEM_CAT = 'X'.
GS_SALESX-SALES_UNIT = 'X'.
GS_PLANTDATAX-AVAILCHECK = 'X'.
GS_PLANTDATAX-LOADINGGRP = 'X'.
GS_PLANTDATAX-PROFIT_CTR = 'X'.
GS_PLANTDATAX-COMM_CODE = 'X'.
GS_CLIENTDATAX-TRANS_GRP = 'X'.
Gs_sales-sales_org = GT_REC-VKORG.
Gs_sales-distr_chan = GT_REC-vtweg.
Gs_sales-delyg_plnt = GT_REC-dwerk. "납품플랜트
GS_SALES-ACCT_ASSGT = GT_REC-KTGRM. "계정지정그룹
GS_SALES-ITEM_CAT = GT_REC-TXT01. "품목범주그룹
GS_SALES-SALES_UNIT = GT_REC-VRKME. "판매단위
GS_PLANTDATA-AVAILCHECK = GT_REC-mtvfp. "가용성점검
GS_PLANTDATA-LOADINGGRP = GT_REC-LADGR. "적하 그룹
GS_PLANTDATA-PROFIT_CTR = GT_REC-PRCTR. "손익 센터
GS_PLANTDATAX-COMM_CODE = GT_REC-STAWN. "해외무역: 상품/수입 코드
GS_CLIENTDATA-TRANS_GRP = GT_REC-tragr. "운송 그룹
perform f_fill_bapi_taxclassdata. "세금분류 처리
endform. " ADD_SALES
*&------------ --------- --------- --------- --------- --------- --------- ---*
*& Form f_fill_bapi_ taxclassdata
*&------------ --------- --------- --------- --------- --------- --------- ---*
form f_fill_bapi_taxclassdata .
GT_taxclass-depcountry = 'KR'.
GT_taxclass-tax_type_1 = 'MWST'.
GT_taxclass-taxclass_1 = GT_REC-TAXKM.
append GT_taxclass. clear: GT_taxclass.
endform. " f_fill_bapi_ taxclassdata
*&------------ --------- --------- --------- --------- --------- --------- ---*
*& Form f_fill_bapi_ uomdata
*&------------ --------- --------- --------- --------- --------- --------- ---*
form f_fill_bapi_uomdata .
CHECK GT_REC-SKIP2 IS NOT INITIAL.
GT_uomx-alt_unit = GT_REC-SKIP2.
GT_uomx-numerator = 'X'.
GT_uomx-denominatr = 'X'.
append GT_uomx. clear: GT_uomx.
GT_uom-alt_unit = GT_REC-SKIP2.
GT_uom-numerator = GT_REC-SKIP3 .
GT_uom-denominatr = GT_REC-SKIP1.
*
append GT_uom. clear: GT_uom.
endform. . " f_fill_bapi_ uomdata
*&------------ --------- --------- --------- --------- --------- --------- ---*
*& Form f_fill_bapi_ matdescdata
*&------------ --------- --------- --------- --------- --------- --------- ---*
form f_fill_bapi_matdescdata .
GT_matdesc-langu = sy-langu.
GT_matdesc-matl_desc = GT_REC-MAKTX.
append GT_matdesc. clear: GT_matdesc.
endform. " f_fill_bapi_ matdescdata