*&---------------------------------------------------------------------*
*& 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.
DATA: IT_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.
FREE: IT_MAINTP_ATTR.
IT_MAINTP_ATTR[] = I_T_DATA[].
FREE: I_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[].
*& 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.
DATA: IT_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.
FREE: IT_MAINTP_ATTR.
IT_MAINTP_ATTR[] = I_T_DATA[].
FREE: I_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