Views 259
Visitors 145

ZXM61U02

Home 
| Top Page | Threads |
Previous  Next

*&---------------------------------------------------------------------*
*&  Include           ZXM61U02                                         *
*&---------------------------------------------------------------------*
DATA: lv_flag.
DATA: lv_char01(04) TYPE c,
     lv_char02(04) TYPE c.
RANGES: ra_dispo    FOR mt61d-dispo.
 
CLEAR: no_planning, stop_planning.
*----------------------------------------------------------------------*
* immediately exclude material with deletion flag
* this will reduce unnecessary MRP list with termination
*----------------------------------------------------------------------*
IF mt61d-lvorm = 'X'.
no_planning = 'X'.
ENDIF.
 
*----------------------------------------------------------------------*
* select materials for one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
 
CASE user_key.
 
WHEN '001'.
*      UXPAR = USER_PAR.
*      CONDENSE UXPAR.
*      WRITE UXPAR+0(3) TO DISPO.
*      IF DISPO IS INITIAL.
*        EXIT.
*      ENDIF.
*      IF MT61D-DISPO <> DISPO.
*        NO_PLANNING = 'X'.
*      ENDIF.
*->Change reason: want to select multiple MRP controllers
 
   uxpar = user_par.
   CONDENSE uxpar.
   CLEAR lv_flag.
   WHILE lv_flag NE 'X'.
     CLEAR: lv_char01, lv_char02.
     SPLIT uxpar AT ';' INTO lv_char01 lv_char02.
     IF lv_char02 IS INITIAL.
       IF uxpar IS NOT INITIAL.
         MOVE 'I'       TO ra_dispo-sign.
         MOVE 'EQ'      TO ra_dispo-option.
         MOVE lv_char01 TO ra_dispo-low.
         APPEND ra_dispo.
       ENDIF.
       MOVE 'X' TO lv_flag.
       CONTINUE.
     ENDIF.
     REPLACE lv_char01 WITH ' ' INTO uxpar.
     REPLACE ';' WITH ' ' INTO uxpar.
     CONDENSE uxpar.
     MOVE 'I'       TO ra_dispo-sign.
     MOVE 'EQ'      TO ra_dispo-option.
     MOVE lv_char01 TO ra_dispo-low.
     APPEND ra_dispo.
   ENDWHILE.
   IF NOT uxpar NS ';'.
     WRITE uxpar+0(3) TO dispo.
     IF dispo IS INITIAL.
       EXIT.
     ENDIF.
     IF mt61d-dispo <> dispo.
       no_planning = 'X'.
     ENDIF.
 
   ELSE.
     REPLACE space IN uxpar WITH ''.
     FIND mt61d-dispo IN uxpar IGNORING CASE.
 
     IF sy-subrc NE 0.
*not found
       no_planning = 'X'.
     ENDIF.
 
   ENDIF.
*----------------------------------------------------------------------*
* select materials excluding one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
WHEN '002'.
*      UXPAR = USER_PAR.
*      CONDENSE UXPAR.
*      WRITE UXPAR+0(3) TO DISPO.
*      IF DISPO IS INITIAL.
*        EXIT.
*      ENDIF.
*      IF MT61D-DISPO = DISPO.
*        NO_PLANNING = 'X'.
*      ENDIF.
*->Change reason: want to select multiple MRP controllers
 
   uxpar = user_par.
   CONDENSE uxpar.
 
   IF NOT uxpar NS ';'.
     WRITE uxpar+0(3) TO dispo.
     IF dispo IS INITIAL.
       EXIT.
     ENDIF.
     IF mt61d-dispo = dispo.
       no_planning = 'X'.
     ENDIF.
 
   ELSE.
     REPLACE space IN uxpar WITH ''.
     FIND mt61d-dispo IN uxpar IGNORING CASE.
 
     IF sy-subrc EQ 0.
*found
       no_planning = 'X'.
     ENDIF.
 
   ENDIF.
 
ENDCASE.

User Threads | New Thread ( Only for Donators )

Threads Last Post Replies Views