ME_PROCESS_PO_CUST

 method IF_EX_ME_PROCESS_PO_CUST~CHECK.
     data im_item  TYPE REF TO if_longtexts_mm.
     data ld_formatted type mmpur_bool.
     data lt_line type table of mmpur_textlines .
     data wa_line like line of lt_line.

     DATA: it_items TYPE purchase_order_items,
           wa_item LIKE LINE OF it_items.
     data error_flag type c.
     data l_mat_po(100type c.
     data re_item type  mepoitem.
     data re_header type mepoheader.



* if sy-ucomm = 'MESAVE' or sy-ucomm = 'MECHECKDOC'.
    call method im_header->get_data
      receiving
        re_data = re_header.

   if ( re_header-bukrs = '5010' or re_header-bukrs = '5110' or re_header-bukrs = '5180' )
        and  re_header-bsart eq 'ZES'
        and ( re_header-ekorg+0(1) = '5' and re_header-ekorg+3(1) = 'C' )
        and ( re_header-lifnr eq '0000400040' or
              re_header-lifnr eq '0000400037' or
              re_header-lifnr eq '0000405623' or
              re_header-lifnr eq '0000406443'  ).

        CALL METHOD im_header->get_items
          RECEIVING
          re_items = it_items.

        loop at it_items into wa_item.
          refresh lt_line.
          call method wa_item-item->get_data
            receiving
                re_data = re_item.

          call method wa_item-item->if_longtexts_mm~get_text
           exporting
                im_tdid = 'F06'
           importing
                ex_textlines = lt_line
                ex_text_formatted = ld_formatted.

          clear l_mat_po .
          loop at lt_line into wa_line.
              if sy-tabix = 1.
                move wa_line-tdline to l_mat_po .
              else.
                concatenate l_mat_po wa_line-tdline into l_mat_po separated by space .
              endif.
          endloop.
*          shift l_mat_po left deleting leading ''.
          if l_mat_po ne re_item-txz01.
            error_flag = 'X'.
            exit.
          endif.
        endloop.
  endif.
  if error_flag eq 'X'.
    Message E888(sabapdocu)
             WITH 'Material PO text must be the same as PO item short text, please check.' .
  endif.
*endif.
endmethod.

 

 

 

method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.
*     data im_item  TYPE REF TO if_longtexts_mm.
*     data ld_formatted type mmpur_bool.
*     data lt_line type table of mmpur_textlines .
*     data wa_line like line of lt_line.
*
*     DATA: it_items TYPE purchase_order_items,
*           wa_item LIKE LINE OF it_items.
*     data error_flag type c.
*     data l_mat_po(100) type c.
*     data re_item type  mepoitem.
*     data re_header type mepoheader.
*     DATA: l_header TYPE REF TO if_purchase_order_mm.
*     DATA:l_item TYPE mepoitem.
*
*   DATA : lv_tdobject    TYPE tdobject,
*           lv_metafield   TYPE mmpur_metafield,
*           lt_texttypes   TYPE mmpur_t_texttypes,
*           ls_texttypes   TYPE mmpur_texttypes,
*           lt_textlines   TYPE mmpur_t_textlines,
*           ls_textlines   TYPE mmpur_textlines.
*
*   DATA l_schedule type ref to if_purchase_order_mm.
*   data re_schedules type PURCHASE_ORDER_SCHEDULES.
*   data wa_sch LIKE LINE OF re_schedules.
*   data re_sch type meposchedule.
*
*    data:i_text type MMPUR_T_TEXTLINES,
*    wa_text like line of i_text.
*
*
*
*  l_header = im_item->get_header( ).
*  re_header = l_header->get_data( ).
*
*  CALL METHOD im_item->get_schedules
*    RECEIVING
*    re_schedules = re_schedules.
*
* loop at re_schedules into wa_sch.
*
*  call method wa_sch-SCHEDULE->get_data
*    receiving
*        re_data = re_sch.
**    wa_text-TDOBJECT = 'EKPO'.
**    wa_text-TDID = 'F03'.
**    wa_text-TDLINE = 'ABCDEFG'.
**    wa_text-TDFORMAT = '*'.
**    append  wa_text to i_text.
*
* endloop.
*
*
** if sy-ucomm = 'MESAVE' or sy-ucomm = 'MECHECKDOC'.
**    call method IM_header->get_data
**      receiving
**        re_data = re_header.
*
**   if  re_header-bukrs = '5230'
**        and re_header-ekgrp = '531'
**        and  re_header-bsart eq 'ZES'
**        and ( re_header-ekorg = '523C' )
**        and ( re_header-lifnr eq '0000400040' or
**              re_header-lifnr eq '0000406443' or
**              re_header-lifnr eq '0000400231' or
**              re_header-lifnr eq '0000400032' or
**              re_header-lifnr eq '0000405623' ).
*
*        l_item =   im_item->get_data( ).
*
*
**        loop at l_item into wa_item.
**          refresh lt_line.
*
*
*
*              wa_text-TDOBJECT = 'EKPO'.
*              wa_text-TDID = 'F03'.
*              wa_text-TDLINE = 'ABCDEFG'.
*              wa_text-TDFORMAT = '*'.
*              append  wa_text to i_text.
*
*      CLEAR :  lv_tdobject.
*      im_item->if_longtexts_mm~get_textobject(
*            IMPORTING
*              ex_tdobject = lv_tdobject
*              ex_metafield = lv_metafield ).
*
*** Get Text IDs **
*      REFRESH : lt_texttypes.
*      CLEAR   : ls_texttypes.
*
*      im_item->if_longtexts_mm~get_types(
*            IMPORTING
*              ex_texttypes = lt_texttypes ).
*
*DATA: it_header TYPE thead .
*
*      it_header-tdobject = 'EKPO'.
**      it_header-tdname   = vl_vbeln.
*      it_header-tdid     = 'F03'.
*      it_header-tdspras  = sy-langu.
*
*data lt_lines TYPE table of tline .
*data l_lines type tline.
*l_lines-tdline = 'cccc'.


*    CALL FUNCTION 'INIT_TEXT'
*      EXPORTING
*        id            = 'F03'
*        language      = 'E'
**        name          = me->m_tdname
*        object        = 'EKPO'
*      IMPORTING
*        header        = IT_header
*      TABLES
*        lines         = lT_LINES
*      EXCEPTIONS
*        id            = 1
*        language      = 2
*        name          = 3
*        object        = 4
*        error_message = 99
*        OTHERS        = 5.

*      CALL FUNCTION 'SAVE_TEXT'
*        EXPORTING
*          header          = it_header
*          insert          = 'X'
*          savemode_direct = 'X'
*        TABLES
*          lines           = lT_lines
*        EXCEPTIONS
*          id              = 1
*          language        = 2
*          name            = 3
*          object          = 4
*          OTHERS          = 5.


*      LOOP AT lt_texttypes INTO ls_texttypes.
*        CLEAR : ls_textlines.
*        REFRESH : lt_textlines.
*        MOVE lv_tdobject       TO ls_textlines-tdobject.
*        MOVE ls_texttypes-tdid TO ls_textlines-tdid.
*        MOVE '*'               TO ls_textlines-tdformat.
*        CONCATENATE 'Test : ' ls_texttypes-tdtext INTO ls_textlines-tdline.
*        APPEND ls_textlines TO lt_textlines.
*        im_item->if_longtexts_mm~set_text(
*            EXPORTING
*              im_tdid = ls_texttypes-tdid
*              im_textlines = lt_textlines ).
*      ENDLOOP.


*          call method im_item->if_longtexts_mm~set_text
*           exporting
*                im_tdid = 'F03'
*                im_textlines = i_text.

*        endloop.
*  endif.
endmethod.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章