1. 程式人生 > >SAP物料主資料建立質量管理檢視後新增檢驗型別

SAP物料主資料建立質量管理檢視後新增檢驗型別

REPORT ZTEST.


DATA:LS_HEADER TYPE BAPIMATHEAD.
DATA:LS_MARC  TYPE BAPI_MARC,
     LS_MARCX TYPE BAPI_MARCX.
DATA:LS_RETURN TYPE BAPIRET2.

BREAK-POINT.

LS_HEADER-MATERIAL '303012001'.



CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
  EXPORTING
    INPUT  LS_HEADER-MATERIAL
  IMPORTING
    OUTPUT LS_HEADER-
MATERIAL.


LS_HEADER-IND_SECTOR 'P'"行業領域
LS_HEADER-QUALITY_VIEW 'X'"質量管理檢視
LS_HEADER-MATL_TYPE 'Z003'"物料型別

LS_MARC-PLANT '2000'.
LS_MARCX-PLANT '2000'.


CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    HEADDATA   LS_HEADER
*   CLIENTDATA =
*   CLIENTDATAX                 =
    PLANTDATA  
LS_MARC
    PLANTDATAX LS_MARCX
*   FORECASTPARAMETERS          =
*   FORECASTPARAMETERSX         =
*   PLANNINGDATA                =
*   PLANNINGDATAX               =
*   STORAGELOCATIONDATA         =
*   STORAGELOCATIONDATAX        =
*   VALUATIONDATA               =
*   VALUATIONDATAX              =
*   WAREHOUSENUMBERDATA         =

*   WAREHOUSENUMBERDATAX        =
*   SALESDATA  =
*   SALESDATAX =
*   STORAGETYPEDATA             =
*   STORAGETYPEDATAX            =
*   FLAG_ONLINE                 = ' '
*   FLAG_CAD_CALL               = ' '
*   NO_DEQUEUE = ' '
*   NO_ROLLBACK_WORK            = ' '
*   CLIENTDATACWM               =
*   CLIENTDATACWMX              =
*   VALUATIONDATACWM            =
*   VALUATIONDATACWMX           =
  IMPORTING
    RETURN     LS_RETURN
*   TABLES
*   MATERIALDESCRIPTION         =
*   UNITSOFMEASURE              =
*   UNITSOFMEASUREX             =
*   INTERNATIONALARTNOS         =
*   MATERIALLONGTEXT            =
*   TAXCLASSIFICATIONS          =
*   RETURNMESSAGES              =
*   PRTDATA    =
*   PRTDATAX   =
*   EXTENSIONIN                 =
*   EXTENSIONINX                =
*   UNITSOFMEASURECWM           =
*   UNITSOFMEASURECWMX          =
*   NFMCHARGEWEIGHTS            =
*   NFMCHARGEWEIGHTSX           =
*   NFMSTRUCTURALWEIGHTS        =
*   NFMSTRUCTURALWEIGHTSX       =
  .
IF LS_RETURN-TYPE 'S'.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT 'X'.


ELSE.

  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ENDIF.


DATA:LT_INSPECTIONCTRL TYPE TABLE OF BAPI1001004_QMAT,
     LS_INSPECTIONCTRL TYPE BAPI1001004_QMAT,
     LT_RETURN         TYPE TABLE OF BAPIRET2.
DATA:LS_TQ34 TYPE TQ34.

BREAK-POINT.

LS_INSPECTIONCTRL-MATERIAL '303012001'.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
  EXPORTING
    INPUT  LS_INSPECTIONCTRL-MATERIAL
  IMPORTING
    OUTPUT LS_INSPECTIONCTRL-MATERIAL
* EXCEPTIONS
*   LENGTH_ERROR       = 1
*   OTHERS = 2
  .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.


LS_INSPECTIONCTRL-PLANT '2000'.
LS_INSPECTIONCTRL-INSPTYPE 'Z02'"檢驗型別
LS_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE 'X'.

SELECT SINGLE *
  INTO LS_TQ34
  FROM TQ34
  WHERE ART LS_INSPECTIONCTRL-INSPTYPE.

LS_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST LS_TQ34-PPL.
LS_INSPECTIONCTRL-IND_SPEC_MATSPEC LS_TQ34-SPEZUEBER.
LS_INSPECTIONCTRL-IND_SPEC_CONFIG LS_TQ34-CONF.
LS_INSPECTIONCTRL-IND_SPEC_BATCH LS_TQ34-TLS.
LS_INSPECTIONCTRL-IND_AUTO_ASSIGN LS_TQ34-APP.
LS_INSPECTIONCTRL-IND_INSP_BY_CHARAC LS_TQ34-MER.
LS_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK LS_TQ34-INSMK.
LS_INSPECTIONCTRL-IND_AUTOMATIC_UD LS_TQ34-AVE.
LS_INSPECTIONCTRL-SAMPLING_PROCEDURE LS_TQ34-STICHPRVER.
LS_INSPECTIONCTRL-DYN_MODIF_RULE LS_TQ34-DYNREGEL.
LS_INSPECTIONCTRL-INSP_PERCENTAGE LS_TQ34-SPROZ.
LS_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION LS_TQ34-HPZ.
LS_INSPECTIONCTRL-IND_SKIPS_ALLOWED LS_TQ34-DYN.
LS_INSPECTIONCTRL-IND_MANUAL_SAMPLE LS_TQ34-MPB.
LS_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC LS_TQ34-MST.
LS_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE LS_TQ34-EIN.
LS_INSPECTIONCTRL-AVE_INSP_DURATION LS_TQ34-MPDAU.
LS_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE LS_TQ34-CHG.
LS_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE LS_TQ34-QKZVERF.
LS_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE LS_TQ34-QPMAT.

LS_INSPECTIONCTRL-PREFERRED_INSPTYPE 'X'."首選的檢驗型別

BREAK-POINT.


APPEND LS_INSPECTIONCTRL TO LT_INSPECTIONCTRL.

CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
  TABLES
    RETURN         LT_RETURN
    INSPECTIONCTRL LT_INSPECTIONCTRL.
READ TABLE LT_RETURN TRANSPORTING NO FIELDS WITH KEY TYPE 'S'.
IF LT_RETURN IS INITIAL.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT 'X'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.