Thursday, April 10, 2014

ABAP - User Exit_Master Data





  *&---------------------------------------------------------------------*
*&  Include           ZXRSAU02_0PM_MAINTPOS_ATTR
*&---------------------------------------------------------------------*
************************************************************************
* CR-A02996 WIKKER II
* 16/08/2013       MYSKOT       RT          Enhance 0PM_MAINTPOS_ATTR
*
************************************************************************

TYPES BEGIN OF S_MPOS,
          WAPOS   TYPE WAPOS,
          OBKNR   TYPE OBJKNR,
          PRIOK   TYPE PRIOK,
          STATUS  TYPE MPSTAT,
          AENAM   TYPE AENAM,
          AEDAT   TYPE AEDAT,
          ERNAM   TYPE ERNAM,
          ERSDT   TYPE ERSDT,
        END OF S_MPOS.

DATAIT_MAINTP_ATTR TYPE STANDARD TABLE OF BWE_0PM_MAINTPOS,
      IT_MPOS TYPE SORTED TABLE OF S_MPOS WITH UNIQUE KEY WAPOS,
      W_MPOS LIKE LINE OF IT_MPOS.

FIELD-SYMBOLS <FS_MAINTP_ATTR> TYPE BWE_0PM_MAINTPOS.

FREEIT_MAINTP_ATTR.
IT_MAINTP_ATTR[] I_T_DATA[].
FREEI_T_DATA.

IF IT_MAINTP_ATTR[] IS NOT INITIAL.

  SELECT WAPOS OBKNR PRIOK STATUS AENAM AEDAT ERNAM ERSDT
    INTO TABLE IT_MPOS
     FROM MPOS
     FOR ALL ENTRIES IN IT_MAINTP_ATTR
     WHERE WAPOS IT_MAINTP_ATTR-WAPOS.

ENDIF.

IF IT_MPOS[] IS NOT INITIAL.
  LOOP AT IT_MAINTP_ATTR ASSIGNING <FS_MAINTP_ATTR>.
    READ TABLE IT_MPOS INTO W_MPOS
         WITH KEY WAPOS <FS_MAINTP_ATTR>-WAPOS
         BINARY SEARCH.
    IF SY-SUBRC 0.
      <FS_MAINTP_ATTR>-OBKNR  W_MPOS-OBKNR.
      <FS_MAINTP_ATTR>-PRIOK  W_MPOS-PRIOK.
      <FS_MAINTP_ATTR>-STATUS W_MPOS-STATUS.
      <FS_MAINTP_ATTR>-AENAM  W_MPOS-AENAM.
      <FS_MAINTP_ATTR>-AEDAT  W_MPOS-AEDAT.
      <FS_MAINTP_ATTR>-ERNAM  W_MPOS-ERNAM.
      <FS_MAINTP_ATTR>-ERSDT  W_MPOS-ERSDT.
    ENDIF.
  ENDLOOP.
ENDIF.

I_T_DATA[] IT_MAINTP_ATTR[].

No comments:

Post a Comment