CALL CLASSFUNCTION(Material与Batch)

来源:互联网 发布:淘宝网超然牛仔女裤 编辑:程序博客网 时间:2024/05/17 02:09

*&---------------------------------------------------------------------*

*& Report  ZRSD0108  Device Material Production Creation detail report *

*&                                                                     *

*&---------------------------------------------------------------------*

*& 001 Vista Liu     Device Material Production Creation detail report *

*&                        2007-12-11            "DEVK923716[1599]      *

*&---------------------------------------------------------------------*

*& 002 vista liu     Add download to server & e-mail to user for Report*

*&                        2008-01-15            "DEVK923874[1637]      *

*&---------------------------------------------------------------------*

 

REPORT  ZRSD0108 .

TYPE-POOLS: SLIS .

 

************************************************************************

************************************************************************

*  D E C L A R A T I O N

************************************************************************

************************************************************************

 

TABLES: MARA, AUSP, KNA1, MAKT,ADR6,TZW02,USR21.

 

TYPE-POOLS: SLIS, KKBLO.

 

DATA: BEGIN OF ITAB OCCURS 0,

        MATNR LIKE MARA-MATNR,       "Material Number

        ERSDA LIKE MARA-ERSDA,       "Create Date

        ERNAM LIKE MARA-ERNAM,       "Create By

        MAKTX LIKE MAKT-MAKTX,       "Material Description

        PDIM  LIKE AUSP-ATWRT,       "Package Dimension

        LEAD  LIKE AUSP-ATWRT,       "Lead Count

        KUNNR LIKE KNA1-KUNNR,       "Cust code

        NAME1 LIKE KNA1-NAME1,       "Customer Name

        PACKAGE(30) TYPE C   ,       "Package

        MTART LIKE MARA-MTART,       "Material Type

      END OF ITAB.

 

DATA: GT_FIELDCAT   TYPE SLIS_T_FIELDCAT_ALV, "ALV Field Catalog

      LS_FIELDCAT   TYPE SLIS_FIELDCAT_ALV,

      G_LAYOUT      TYPE SLIS_LAYOUT_ALV,

      G_TITLE       TYPE LVC_TITLE,

      G_REPID       LIKE SY-REPID,

      G_VARIANT     LIKE DISVARIANT,          "Layout Variant

      T_SORT        TYPE SLIS_T_SORTINFO_ALV, "for subtotal

      T_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER. "ALV Top-of-page

 

SELECT-OPTIONS : S_ERSDA FOR MARA-ERSDA OBLIGATORY,

                 S_MTART FOR MARA-MTART OBLIGATORY.

 

*Start Vista   "DEVK923874[1637]

PARAMETERS: DOWNLOAD AS CHECKBOX DEFAULT 'X'.

PARAMETERS: P_FN LIKE RLGRAP-FILENAME.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_SEND_X AS CHECKBOX.

SELECT-OPTIONS P_MAIL01 FOR ADR6-SMTP_ADDR NO INTERVALS.

SELECT-OPTIONS P_DLI01  FOR TZW02-DLINAM NO INTERVALS NO-DISPLAY.

SELECT-OPTIONS P_USR01  FOR USR21-BNAME NO INTERVALS NO-DISPLAY.

PARAMETERS     P_SUB01  TYPE SO_OBJ_DES.

PARAMETERS     P_BODY11 LIKE SOLISTI1-LINE.

PARAMETERS     P_BODY12 LIKE SOLISTI1-LINE.

PARAMETERS     P_BODY13 LIKE SOLISTI1-LINE.

PARAMETERS     P_BODY14 LIKE SOLISTI1-LINE.

PARAMETERS     P_BODY15 LIKE SOLISTI1-LINE.

DATA: G_SVFILE LIKE RLGRAP-FILENAME.

*End   vista   "DEVK923874[1637]

 

CONSTANTS: C_MATCLTYPE LIKE KLAH-KLART    VALUE '001'.  "Material Class

 

 

****For sending email,

DATA GS_DOCDATA          LIKE SODOCCHGI1.

DATA GS_SUBJECT          TYPE SO_OBJ_DES.

DATA GT_OBJPACK          LIKE SOPCKLSTI1 OCCURS 1 WITH HEADER LINE.

DATA GT_OBJTXT           LIKE SOLISTI1   OCCURS 1 WITH HEADER LINE.

DATA GT_OBJBIN           LIKE SOLISTI1   OCCURS 1 WITH HEADER LINE.

DATA GT_RECLIST          LIKE SOMLRECI1  OCCURS 1 WITH HEADER LINE.

DATA GT_MSGRETURN        LIKE ZMSGRETURN OCCURS 1 WITH HEADER LINE.

DATA GT_CONTENTS         LIKE SOLISTI1   OCCURS 1 WITH HEADER LINE.

DATA GT_FILES            LIKE ZFILESPATH OCCURS 1 WITH HEADER LINE.

DATA GT_SPOOL            LIKE ZSPOOLPATH OCCURS 1 WITH HEADER LINE.

DATA: G_SUBRC            LIKE SY-SUBRC.

 

 

*----------------------------------------------------------------------*

*        INITIALIZATION                                                *

*----------------------------------------------------------------------*

 

INITIALIZATION.

 

*----------------------------------------------------------------------*

*        START-OF-SELECTION                                            *

*----------------------------------------------------------------------*

START-OF-SELECTION.

 

  PERFORM GET_DATA.

*Start Vista   "DEVK923874[1637]

  IF  P_FN IS NOT INITIAL.

    PERFORM DOWNLOAD_SERVER USING P_FN.

  ENDIF.

 

  IF P_SEND_X = 'X'. "send email.

*    FNAME1 = FNAME.

    PERFORM SEND_MAIL_VIA_SAP2.

  ENDIF.

*End   Vista   "DEVK923874[1637]

END-OF-SELECTION.

*----------------------------------------------------------------------*

*    END-OF-SELECTION                                                  *

*----------------------------------------------------------------------*

 

* Display report

  PERFORM SUB_OUTPUT_TO_ALV.

 

*&---------------------------------------------------------------------*

*&      Form  get_data

*&---------------------------------------------------------------------*

*       Gte_Data

*&---------------------------------------------------------------------*

 

FORM GET_DATA.

 

  SELECT  MATNR ERNAM ERSDA

          INTO (ITAB-MATNR, ITAB-ERNAM, ITAB-ERSDA)

          FROM MARA

          WHERE ERSDA IN S_ERSDA

          AND   MTART IN S_MTART.

 

    SELECT SINGLE MAKTX

              INTO ITAB-MAKTX

              FROM MAKT WHERE MATNR = ITAB-MATNR

              AND  SPRAS = 'EN'.

 

    APPEND ITAB.

    CLEAR  ITAB.

 

  ENDSELECT.

 

  DATA: L_KUNNR LIKE KNA1-KUNNR.

 

  DATA:   LT_CLASS LIKE SCLASS OCCURS 0 WITH HEADER LINE,

          LT_CLOBJDAT LIKE CLOBJDAT OCCURS 0 WITH HEADER LINE,

          L_OBJEK LIKE AUSP-OBJEK,

          L_PACKAGE(30) TYPE C,

          L_RET(40) TYPE N,

          L_PACKAGE_NAME LIKE KLAH-CLASS.

 

  LOOP AT ITAB.

 

    L_OBJEK = ITAB-MATNR.

 

    CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

      EXPORTING

        CLASSTEXT       = ''              "No class text

        CLASSTYPE       = C_MATCLTYPE   "Material classification

        OBJECT          = L_OBJEK        "Material#

        INITIAL_CHARACT = ''            "No initial characteristic

      TABLES

        T_CLASS         = LT_CLASS

        T_OBJECTDATA    = LT_CLOBJDAT

      EXCEPTIONS

        OTHERS          = 4.

 

    IF SY-SUBRC = 0 .

 

      READ TABLE LT_CLOBJDAT WITH KEY ATNAM = 'LEAD'.

      IF SY-SUBRC = 0.

        MOVE LT_CLOBJDAT-AUSP1 TO ITAB-LEAD.

      ENDIF.

 

      READ TABLE LT_CLOBJDAT WITH KEY ATNAM = 'PACKAGE_DIMENSION'.

      IF SY-SUBRC = 0.

        MOVE LT_CLOBJDAT-AUSP1 TO ITAB-PDIM.

      ENDIF.

 

      READ TABLE LT_CLOBJDAT WITH KEY ATNAM = 'CUSTOMER'.

      IF SY-SUBRC = 0.

        MOVE LT_CLOBJDAT-AUSP1 TO ITAB-KUNNR.

      ENDIF.

    ENDIF.

 

    CLEAR L_KUNNR.

    IF NOT ITAB-KUNNR IS INITIAL.

      SHIFT ITAB-KUNNR LEFT DELETING LEADING '0'.

      CONCATENATE '00000' ITAB-KUNNR INTO L_KUNNR.

      SELECT SINGLE NAME1 INTO (ITAB-NAME1)

            FROM KNA1

            WHERE KUNNR = L_KUNNR.

    ENDIF.

 

    CALL FUNCTION 'Z_GET_PACKAGE_NAME'

      EXPORTING

        MATERIAL_NO  = ITAB-MATNR

      IMPORTING

        PACKAGE_NAME = L_PACKAGE.

 

    IF SY-SUBRC = 0.

      MOVE L_PACKAGE TO ITAB-PACKAGE.

    ENDIF.

 

    MODIFY ITAB TRANSPORTING LEAD PDIM KUNNR NAME1 PACKAGE.

  ENDLOOP.

ENDFORM.                    "get_data

 

 

*&---------------------------------------------------------------------

*

*&               Form  download_sever

*&---------------------------------------------------------------------

 

*Start Vista   "DEVK923874[1637]

 

FORM DOWNLOAD_SERVER USING P_FN TYPE C.

  FIELD-SYMBOLS: <FS>.

  DATA: L_FIELD(200)   TYPE C,

        L_STRING(3000) TYPE C.

  DATA:P_SUBRC LIKE SY-SUBRC.

  P_SUBRC = 1.

  TRY.

      CONCATENATE P_FN

      'Device_Material_Production_Creation_report_' SY-DATUM '.xls'

                                                     INTO G_SVFILE.

      OPEN DATASET G_SVFILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

      IF SY-SUBRC = 0.

        CONCATENATE 'Material'

                    'Create on'

                    'Create by'

                    'Material Description'

                    'PDIM'

                    'LEAD'

                    'Cust code'

                    'CustomerName'

                    'PackAge'

                    INTO L_STRING SEPARATED BY

             CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

        TRANSFER L_STRING TO G_SVFILE.

 

        LOOP AT ITAB.

          CLEAR L_STRING.

          DO.

            ASSIGN COMPONENT SY-INDEX OF STRUCTURE ITAB TO <FS>.

            IF SY-SUBRC NE 0.

              EXIT.

            ENDIF.

            WRITE <FS> TO L_FIELD.

            CONDENSE L_FIELD.

            IF SY-INDEX = 1.

              L_STRING = L_FIELD.

            ELSE.

              CONCATENATE L_STRING L_FIELD INTO L_STRING

                SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

            ENDIF.

          ENDDO.

          TRANSFER L_STRING TO G_SVFILE.

        ENDLOOP.

        CLOSE DATASET G_SVFILE.

        WRITE:/ 'Export is successful.'.

        WRITE:/ 'Temporary file created on server:', G_SVFILE.

        P_SUBRC = 0.

      ELSE.

        WRITE:/ 'Export is failed.'.

      ENDIF.

    CATCH CX_ROOT.

      WRITE:/ 'Temporary file writing error on server.'.

  ENDTRY.

ENDFORM.                    "download_server

 

*End   Vista   "DEVK923874[1637]

 

 

*&---------------------------------------------------------------------

*

*&      Form  sub_output_to_alv

*&---------------------------------------------------------------------

*

*       text

*----------------------------------------------------------------------

*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------

 

FORM SUB_OUTPUT_TO_ALV .

 

  G_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'MATNR'.

  LS_FIELDCAT-SELTEXT_L = 'Material'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'ERSDA'.

  LS_FIELDCAT-SELTEXT_L = 'Create on'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'ERNAM'.

  LS_FIELDCAT-SELTEXT_L = 'Create by'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'MAKTX'.

  LS_FIELDCAT-SELTEXT_L = 'Material description'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'PDIM'.

  LS_FIELDCAT-SELTEXT_L = 'PDIM'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'LEAD'.

  LS_FIELDCAT-SELTEXT_L = 'LEAD'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'KUNNR'.

  LS_FIELDCAT-SELTEXT_L = 'Cust code'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'NAME1'.

  LS_FIELDCAT-SELTEXT_L = 'CustomerName'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-TABNAME = 'ITAB'.

  LS_FIELDCAT-FIELDNAME = 'PACKAGE'.

  LS_FIELDCAT-SELTEXT_L = 'Package'.

  LS_FIELDCAT-NO_ZERO = 'X'.

  APPEND LS_FIELDCAT TO GT_FIELDCAT.

 

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      I_GRID_TITLE           = G_TITLE

      IT_FIELDCAT            = GT_FIELDCAT

      I_CALLBACK_PROGRAM     = G_REPID

      IS_LAYOUT              = G_LAYOUT

      I_SAVE                 = 'A'

      I_CALLBACK_TOP_OF_PAGE = 'SUB_SET_TOP_OF_PAGE'

    TABLES

      T_OUTTAB               = ITAB.

ENDFORM.                    "sub_output_to_alv

 

*&--------------------------------------------------------------------*

*&      Form  send_mail_via_sap2

*&--------------------------------------------------------------------*

*       text

*---------------------------------------------------------------------*

FORM SEND_MAIL_VIA_SAP2 .

  DATA: LT_RETURN    LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.

  DATA: LT_ADDSMTP   LIKE BAPIADSMTP OCCURS 0 WITH HEADER LINE.

 

  GS_SUBJECT = P_SUB01.

 

  CLEAR  GT_CONTENTS.

  GT_CONTENTS-LINE = P_BODY11.

  APPEND GT_CONTENTS.

 

  CLEAR  GT_CONTENTS.

  GT_CONTENTS-LINE = P_BODY12.

  APPEND GT_CONTENTS.

 

  CLEAR  GT_CONTENTS.

  GT_CONTENTS-LINE = P_BODY13.

  APPEND GT_CONTENTS.

 

  CLEAR  GT_CONTENTS.

  GT_CONTENTS-LINE = P_BODY14.

  APPEND GT_CONTENTS.

 

  CLEAR  GT_CONTENTS.

  GT_CONTENTS-LINE = P_BODY15.

  APPEND GT_CONTENTS.

 

*  GT_FILES-PATHNAME    = FNAME1.

  GT_FILES-PATHNAME    = G_SVFILE.

  GT_FILES-DOC_TYPE    = 'XLS'.

  GT_FILES-TRANSF_TXT  = SPACE.

  APPEND GT_FILES.

  CLEAR  GT_FILES.

 

  PERFORM TRANSFORM_FILE_TO_ATTACHMENT CHANGING G_SUBRC.

  IF G_SUBRC <> 0.

*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ELSE.

    CALL FUNCTION 'BAPI_USER_GET_DETAIL'

      EXPORTING

        USERNAME             = SY-UNAME

*     IMPORTING

*       LOGONDATA            =

*       DEFAULTS             =

*       ADDRESS              =

*       COMPANY              =

*       SNC                  =

*       REF_USER             =

*       ALIAS                =

      TABLES

*       PARAMETER            =

*       PROFILES             =

*       ACTIVITYGROUPS       =

        RETURN               = LT_RETURN

*       ADDTEL               =

*       ADDFAX               =

*       ADDTTX               =

*       ADDTLX               =

        ADDSMTP              = LT_ADDSMTP

*       ADDRML               =

*       ADDX400              =

*       ADDRFC               =

*       ADDPRT               =

*       ADDSSF               =

*       ADDURI               =

*       ADDPAG               =

*       ADDCOMREM            =

*       PARAMETER1           =

*       GROUPS               =

              .

    LOOP AT LT_ADDSMTP WHERE E_MAIL NE SPACE.

      EXIT.

    ENDLOOP.

    IF SY-SUBRC EQ 0.

      P_MAIL01-SIGN   = 'I'.

      P_MAIL01-OPTION = 'EQ'.

      P_MAIL01-LOW    = LT_ADDSMTP-E_MAIL.

      INSERT P_MAIL01 INDEX 1.

    ENDIF.

 

    SORT P_MAIL01.

    DELETE ADJACENT DUPLICATES FROM P_MAIL01.

 

    LOOP AT P_MAIL01.

      GT_RECLIST-RECEIVER = P_MAIL01-LOW.

      GT_RECLIST-REC_TYPE = 'U'.

 

      APPEND GT_RECLIST.

      CLEAR  GT_RECLIST.

    ENDLOOP.

    IF SY-SUBRC NE 0.

      GT_RECLIST-RECEIVER = SY-UNAME.

      GT_RECLIST-REC_TYPE = 'B'.

 

      APPEND GT_RECLIST.

      CLEAR  GT_RECLIST.

    ENDIF.

 

    PERFORM SEND_MAIL_ATTACHMENT_SAP CHANGING G_SUBRC.

  ENDIF.

ENDFORM.                    " SEND_MAIL_VIA_SAP2

 

*&--------------------------------------------------------------------*

*&      Form  send_mail_attachment_sap

*&--------------------------------------------------------------------*

*       text

*---------------------------------------------------------------------*

*      -->P_SUBRC    text

*---------------------------------------------------------------------*

FORM SEND_MAIL_ATTACHMENT_SAP CHANGING P_SUBRC.

 

  CLEAR P_SUBRC.

 

  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

    EXPORTING

      DOCUMENT_DATA                    = GS_DOCDATA

      PUT_IN_OUTBOX                    = 'X'

      COMMIT_WORK                      = 'X'

*   IMPORTING

*     SENT_TO_ALL                      =

*     NEW_OBJECT_ID                    =

    TABLES

      PACKING_LIST                     = GT_OBJPACK

*     OBJECT_HEADER                    =

      CONTENTS_BIN                     = GT_OBJBIN

      CONTENTS_TXT                     = GT_OBJTXT

*     CONTENTS_HEX                     =

*     OBJECT_PARA                      =

*     OBJECT_PARB                      =

      RECEIVERS                        = GT_RECLIST

    EXCEPTIONS

      TOO_MANY_RECEIVERS               = 1

      DOCUMENT_NOT_SENT                = 2

      DOCUMENT_TYPE_NOT_EXIST          = 3

      OPERATION_NO_AUTHORIZATION       = 4

      PARAMETER_ERROR                  = 5

      X_ERROR                          = 6

      ENQUEUE_ERROR                    = 7

      OTHERS                           = 8

            .

  IF SY-SUBRC <> 0.

*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

 

  P_SUBRC = SY-SUBRC.

 

ENDFORM.                    " send_mail_attachment_sap

 

 

*&--------------------------------------------------------------------*

*&      Form  transform_file_to_attachment

*&--------------------------------------------------------------------*

*       text

*---------------------------------------------------------------------*

*      -->P_SUBRC    text

*---------------------------------------------------------------------*

FORM TRANSFORM_FILE_TO_ATTACHMENT CHANGING P_SUBRC.

 

  CLEAR P_SUBRC.

 

  CALL FUNCTION 'ZBC_PREPARE_MAIL_ATT_DATA'

    EXPORTING

      SUBJECT            = GS_SUBJECT

    IMPORTING

      DOCUMENT_DATA      = GS_DOCDATA

    TABLES

      I_CONTENTS         = GT_CONTENTS

      I_FILE_PATH        = GT_FILES

      I_SPOOL_PATH       = GT_SPOOL

      O_PACKING_LIST     = GT_OBJPACK

      O_CONTENTS_BIN     = GT_OBJBIN

      O_CONTENTS_TXT     = GT_OBJTXT

      O_MSGRETURN        = GT_MSGRETURN

    EXCEPTIONS

      FILE_OPEN_ERROR    = 1

      SPOOL_ATTACH_ERROR = 2

      FILE_WRITE_ERROR   = 3

      OTHERS             = 4.

  IF SY-SUBRC <> 0.

*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*       WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

  P_SUBRC = SY-SUBRC.

ENDFORM.                    " transform_file_to_attachmen

 

 

 

 

补充:

 

 

CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

      EXPORTING

        CLASSTEXT       = ''              "No class text

        CLASSTYPE       = C_MATCLTYPE   "Material classification

        OBJECT          = L_OBJEK        "Material#

        INITIAL_CHARACT = ''            "No initial characteristic

      TABLES

        T_CLASS         = LT_CLASS

        T_OBJECTDATA    = LT_CLOBJDAT

      EXCEPTIONS

        OTHERS          = 4.

 

 

CLASSTYPE = 001 (是MaterialClassfactionOBJEK = Material

CLASSTYPE = 022 (是BatchClassfaction, OBJEK = concatenate mater werks charg

 

 

注意(CALL BATCH CLASSFACTION

一般情况下,call batch classification 中的object的值是由 concatenate mater werks charg

但在这样的情况下,有时会有 IF SY-SUBRC = 1. NO_CLASSIFICATION的错误

为什么有时会有?因为concatenate mater werks chargobject值是 00313019-33100 0100050580的形式,但Debug中,会发现后台会在table  inob中的obejct值做比较,但Inobobject的值有可能是 00313019-3   31000100050580的形式,所以会有这样的Bug

解决方案:(参考程序 ZIMM0059)

select table MCHA~CUOBJ_BM INOB~OBJEK . INOB~CUOBJ = MCHA~CUOBJ_BM 关联起来。

条件INOB~KLART = '022'

最后将INOB~OBJEK的值赋给 这个function中的 object

 

 

 

 
原创粉丝点击