[ABAP] BAPI_MATERIAL_SAVEDATA

SAPWISE·2024년 1월 2일
**********************************************************************
DATA : headdata             TYPE bapimathead,
       clientdata           TYPE bapi_mara,
       clientdatax          TYPE bapi_marax,
       plantdata            TYPE bapi_marc,
       plantdatax           TYPE bapi_marcx,
       valuationdata        TYPE bapi_mbew,
       valuationdatax       TYPE bapi_mbewx,
       salesdata            TYPE bapi_mvke,
       salesdatax           TYPE bapi_mvkex,
       storagelocationdata  TYPE bapi_mard,
       storagelocationdatax  TYPE bapi_mardx.
DATA return               TYPE bapiret2.
DATA materialdescription  TYPE STANDARD TABLE OF bapi_makt WITH HEADER LINE.
DATA materiallongtext     TYPE STANDARD TABLE OF bapi_mltx WITH HEADER LINE.
DATA unitsofmeasure      TYPE STANDARD TABLE OF bapi_marm WITH HEADER LINE.
DATA unitsofmeasurex      TYPE STANDARD TABLE OF bapi_marmx WITH HEADER LINE.
DATA: bapi_te_mara LIKE bapi_te_mara,
      bapi_te_marax LIKE bapi_te_marax.
DATA extensionin          TYPE STANDARD TABLE OF bapiparex WITH HEADER LINE.
DATA extensioninx         TYPE STANDARD TABLE OF bapiparexx WITH HEADER LINE.
DATA taxclassifications   TYPE STANDARD TABLE OF bapi_mlan WITH HEADER LINE.
DATA lv_matnr TYPE matnr.
FIELD-SYMBOLS: <data> LIKE LINE OF gt_data.

**********************************************************************
* Header data
    headdata-material               = <data>-matnr.
    headdata-ind_sector             = <data>-mbrsh.
    headdata-matl_type              = <data>-mtart.
    headdata-basic_view             = 'X'.
    headdata-sales_view             = 'X'.
    headdata-purchase_view          = 'X'.
    headdata-mrp_view               = 'X'.
    headdata-forecast_view          = 'X'.
    headdata-work_sched_view        = 'X'.
    headdata-prt_view               = 'X'.
    headdata-storage_view           = 'X'.
    headdata-warehouse_view         = 'X'.
    headdata-quality_view           = 'X'.
    headdata-account_view           = 'X'.
    headdata-cost_view              = 'X'.
*--------------------------------------------------------------------*
*    "CLIENTDATA  - MARA
    clientdata-matl_group        = <data>-matkl.
    clientdata-manu_mat          = <data>-mfrpn.
    clientdata-pur_status        = <data>-mstae.
    clientdatax-matl_group       = 'X'.
    clientdatax-manu_mat         = 'X'.
    clientdatax-pur_status       = 'X'.
*--------------------------------------------------------------------*
    "Organizational Levels
    plantdata-plant              = <data>-werks.
    plantdatax-plant              = <data>-werks.
    plantdata-iss_st_loc         = <data>-lgpro.
    plantdatax-iss_st_loc         = 'X'.
    salesdata-sales_org         = <data>-vkorg.
    salesdatax-sales_org         = <data>-vkorg.
    salesdata-distr_chan         = <data>-vtweg.
    salesdatax-distr_chan         = <data>-vtweg.

**********************************************************************
    "Basic Data1 View
    materialdescription-langu     = 'E'.
    materialdescription-matl_desc  = <data>-maktx.
    append materialdescription.
    clear : materialdescription.
    materialdescription-langu     = '3'.
    materialdescription-matl_desc  = <data>-maktx.
    append materialdescription.
    clear : materialdescription.
    clientdata-base_uom             = <data>-meins.
    clientdatax-base_uom            = 'X'.
    clientdata-matl_group           = <data>-matkl.
    clientdatax-matl_group          = 'X'.
    clientdata-old_mat_no           = <data>-bismt.
    clientdatax-old_mat_no          = 'X'.
    clientdata-extmatlgrp           = <data>-extwg.
    clientdatax-extmatlgrp          = 'X'.
    clientdata-division             = <data>-spart.
    clientdatax-division            = 'X'.
    clientdata-prod_hier            = <data>-prodh.
    clientdatax-prod_hier           = 'X'.
    clientdata-pur_status           = <data>-mstae.
    clientdatax-pur_status          = 'X'.
    clientdata-item_cat             = <data>-mtpos_mara.

    unitsofmeasure-alt_unit         = <data>-meins.
    unitsofmeasure-unit_of_wt       = <data>-gewei.
    unitsofmeasure-gross_wt         = <data>-brgew.
    append unitsofmeasure.
    unitsofmeasurex-alt_unit         = <data>-meins.
    unitsofmeasurex-unit_of_wt       = 'X'.
    unitsofmeasurex-gross_wt         = 'X'.
    append unitsofmeasurex.
    clear : unitsofmeasure, unitsofmeasurex.

    clientdatax-item_cat            = 'X'.
    clientdata-net_weight           = <data>-ntgew.
    clientdatax-net_weight          = 'X'.
    clientdata-unit_of_wt           = <data>-gewei.
    clientdatax-unit_of_wt          = 'X'.
**********************************************************************
    "Basic Data2 View
    clientdata-size_dim             = <data>-groes.
    clientdatax-size_dim            =  'X'.
    clientdata-prod_memo            = <data>-ferth.
    clientdatax-prod_memo           = 'X'.
    clientdata-std_descr            = <data>-normt.
    clientdatax-std_descr           =  'X'.
*--------------------------------------------------------------------*
    "EXTENSION  HDMI4
    "BAPI_TE_MARA, BAPI_TE_MARAX에 EXTENTION FIELD APPED 선행작업 필요
    bapi_te_mara-material           = <data>-matnr.
    bapi_te_mara-zshlv4             = <data>-zshlv4.
    bapi_te_marax-material           = <data>-matnr.
    bapi_te_marax-zshlv4             = 'X'.
    extensionin-structure           = 'BAPI_TE_MARA'.
    extensionin-valuepart1          = bapi_te_mara.
    extensioninx-structure           = 'BAPI_TE_MARAX'.
    extensioninx-valuepart1          = bapi_te_marax.
    append extensionin.
    append extensioninx.
    clear : extensionin, extensioninx.
*--------------------------------------------------------------------*
    clientdata-pageformat           = <data>-formt.
    clientdatax-pageformat          = 'X'.

*  clientdata-doc_chg_no           = <data>-aeszn.
*  clientdatax-doc_chg_no          =  'X'.
**********************************************************************
    "Sales Org. 1 View
    salesdata-delyg_plnt           = <data>-dwerk.
    salesdatax-delyg_plnt           = 'X'.
    salesdata-cash_disc            = <data>-sktof.
    salesdatax-cash_disc            = 'X'.

    taxclassifications-depcountry = 'KR'.
    taxclassifications-tax_type_1 = 'MWST'.
    taxclassifications-taxclass_1 = <data>-taxkm.
    append taxclassifications.
    clear taxclassifications.
*--------------------------------------------------------------------*
    "Sales Org. 2 View
    salesdata-matl_stats          = <data>-versg.
    salesdatax-matl_stats          =  'X'.
    salesdata-acct_assgt          = <data>-ktgrm.
    salesdatax-acct_assgt          = 'X'.
    salesdata-item_cat            = <data>-mtpos.
    salesdatax-item_cat            = 'X'.
    salesdata-prod_hier           = <data>-prodh.
    salesdatax-prod_hier           = 'X'.
*--------------------------------------------------------------------*
    "Sales: general/ plant View
    plantdata-availcheck          = <data>-mtvfp.
    plantdatax-availcheck         = 'X'.
    clientdata-trans_grp          = <data>-tragr.
    clientdatax-trans_grp         = 'X'.
    plantdata-loadinggrp          = <data>-ladgr.
    plantdatax-loadinggrp         = 'X'.
    plantdata-profit_ctr          = <data>-prctr.
    plantdatax-profit_ctr         = 'X'.
**********************************************************************
    "Foreign trade export/ Import View
    plantdata-comm_code           = <data>-stawn.
    plantdatax-comm_code          = 'X'.
    plantdata-expimpgrp           = <data>-mtver.
    plantdatax-expimpgrp          = 'X'.
    plantdata-countryori          = <data>-herkl.
    plantdatax-countryori         = 'X'.
    plantdata-regionorig          = <data>-herkr.
    plantdatax-regionorig         = 'X'.
**********************************************************************
    "Purchasing View
    plantdata-pur_group            = <data>-ekgrp.
    plantdatax-pur_group           = 'X'.
    clientdata-manu_mat            = <data>-mfrpn.
    clientdatax-manu_mat           = 'X'.
**********************************************************************
    "MRP1 VIEW
    plantdata-mrp_group            = <data>-disgr.
    plantdatax-mrp_group           = 'X'.
    plantdata-abc_id               = <data>-maabc.
    plantdatax-abc_id              = 'X'.
    plantdata-pur_status           = <data>-mmsta.
    plantdatax-pur_status          = 'X'.
    plantdata-mrp_type             = <data>-dismm.
    plantdatax-mrp_type            = 'X'.
    plantdata-mrp_ctrler           = <data>-dispo.
    plantdatax-mrp_ctrler          = 'X'.
    plantdata-lotsizekey           = <data>-disls.
    plantdatax-lotsizekey          = 'X'.
    plantdata-minlotsize           = <data>-bstmi.
    plantdatax-minlotsize          = 'X'.
    plantdata-round_val            = <data>-bstrf.
    plantdatax-round_val           = 'X'.
*--------------------------------------------------------------------*
    "MRP2 VIEW
    plantdata-proc_type            = <data>-beskz.
    plantdatax-proc_type           = 'X'.
    plantdata-spproctype           = <data>-sobsl.
    plantdatax-spproctype          = 'X'.
    plantdata-iss_st_loc           = <data>-lgpro.
    plantdatax-iss_st_loc          = 'X'.
    plantdata-sloc_exprc           = <data>-lgfsb.
    plantdatax-sloc_exprc          = 'X'.
    plantdata-backflush            = <data>-schgt.
    plantdatax-backflush           = 'X'.
*  plantdata-inhseprodt           = <data>-dzeit.
*  plantdatax-inhseprodt          = 'X'.
    plantdata-plnd_delry           = <data>-plifz.
    plantdatax-plnd_delry          = 'X'.
    plantdata-gr_pr_time           = <data>-webaz.
    plantdatax-gr_pr_time          = 'X'.
    plantdata-sm_key               = <data>-fhori.
    plantdatax-sm_key              = 'X'.
    plantdata-safety_stk           = <data>-eisbe.
    plantdatax-safety_stk          = 'X'.
*--------------------------------------------------------------------*
    "MRP 3 View
    plantdata-plan_strgp           = <data>-strgr.
    plantdatax-plan_strgp          = 'X'.
    plantdata-consummode           = <data>-vrmod.
    plantdatax-consummode          = 'X'.
    plantdata-bwd_cons             = <data>-vint1.
    plantdatax-bwd_cons            = 'X'.
    plantdata-fwd_cons             = <data>-vint2.
    plantdatax-fwd_cons            = 'X'.
*--------------------------------------------------------------------*
    "MRP 4 View
    plantdata-alt_bom_id           = <data>-altsl.
    plantdatax-alt_bom_id          = 'X'.
    plantdata-comp_scrap           = <data>-kausf.
    plantdatax-comp_scrap          = 'X'.
    plantdata-dep_req_id           = <data>-sbdkz.
    plantdatax-dep_req_id          = 'X'.
**********************************************************************
    "Work Scheduling View
*  plantdata-production_scheduler  = <data>-fevor.
*  plantdatax-production_scheduler = 'X'.
*  plantdata-prodprof              = <data>-sfcpf.
*  plantdatax-prodprof             = 'X'.
*  plantdata-overallprf            = <data>-ocmpf.
*  plantdatax-overallprf           = 'X'.
**********************************************************************
    "Plant Data / Storage 1 View
    clientdata-stor_conds        = <data>-raube.
    clientdatax-stor_conds       = 'X'.
**********************************************************************
    "Accounting 1 View
    valuationdata-val_class    = <data>-bklas.
    valuationdatax-val_class    = 'X'.
    valuationdata-val_area    = '3000'.
    valuationdatax-val_area   ='3000'.
*  valuationdata-ml_settle    = <data>-mlast.
*  valuationdatax-ml_settle    = 'X'.
*  valuationdata-moving_pr    = <data>-verpr.
*  valuationdatax-moving_pr    = 'X'.
*  valuationdata-std_price    = <data>-stprs.
*  valuationdatax-std_price    = 'X'.
    valuationdata-price_unit    = <data>-peinh.
    valuationdatax-price_unit    = 'X'.
*  valuationdata-price_ctrl    = <data>-vprsv_1.
*  valuationdatax-price_ctrl    = 'X'.

**********************************************************************
    "Cost Estimate 1 View
    plantdata-no_costing          = <data>-ncost.
    plantdatax-no_costing         = 'X'.
    valuationdata-qty_struct        = <data>-ekalr.
    valuationdatax-qty_struct       = 'X'.
    valuationdata-orig_group        = <data>-hrkft.
    valuationdatax-orig_group       = 'X'.
    valuationdata-orig_mat          = <data>-hkmat.
    valuationdatax-orig_mat         = 'X'.
    plantdata-variance_key          = <data>-awsls.
    plantdatax-variance_key         = 'X'.
    plantdata-lot_size              = <data>-losgr.
    plantdatax-lot_size             = 'X'.
*--------------------------------------------------------------------*
    "Cost Estimate 2 View
    valuationdata-plndprice1       = <data>-zplp1.
    valuationdatax-plndprice1       = 'X'.
    valuationdata-plndprice2       = <data>-zplp2.
    valuationdatax-plndprice2       = 'X'.
    valuationdata-plndprice3       = <data>-zplp3.
    valuationdatax-plndprice3       = 'X'.
    valuationdata-plndprdate1      = <data>-zpld1.
    valuationdatax-plndprdate1       = 'X'.
    valuationdata-plndprdate2       = <data>-zpld2.
    valuationdatax-plndprdate2       = 'X'.
    valuationdata-plndprdate3      = <data>-zpld3.
    valuationdatax-plndprdate3       = 'X'.
**********************************************************************
    "STORAGE LOC VIEW
    storagelocationdata-plant = <data>-werks.
    storagelocationdatax-plant = <data>-werks.
    storagelocationdata-stge_loc = <data>-lgort.
    storagelocationdatax-stge_loc = <data>-lgort.

    call function 'BAPI_MATERIAL_SAVEDATA'
    exporting
      headdata            = headdata
      clientdata          = clientdata
      clientdatax         = clientdatax
      plantdata           = plantdata
      plantdatax          = plantdatax
      valuationdata       = valuationdata
      valuationdatax      = valuationdatax
      salesdata           = salesdata
      salesdatax          = salesdatax
      storagelocationdata = storagelocationdata
      storagelocationdatax = storagelocationdatax
    importing
      return              = return
    tables
*       RETURNMESSAGES      = RETURNMESSAGES
      materialdescription = materialdescription
      materiallongtext    = materiallongtext
      extensionin         = extensionin
      extensioninx        = extensioninx
      taxclassifications    = taxclassifications
      unitsofmeasure        = unitsofmeasure
      unitsofmeasurex       = unitsofmeasurex.
 
       call function 'BAPI_TRANSACTION_COMMIT'
        exporting
          wait = 'X'.
profile
SAP, ERP, ABAP

0개의 댓글