天天看点

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 .