‎2007 Feb 07 6:46 PM
I developed this code which the scheduled deliveries for the material...
However now If the user enters two materials I have to make sure that the Pop-up " Quantity to receive"
" Do you want scheduled deliveries for more than 30 days"... should also contain the material numbers like " Quantity to receive for material" " do you want scheduled deliveries for more than 30 days for material number".... How do I acheive that...Please help me
IF SY-TCODE = 'MB01' OR SY-TCODE = 'ME32L'.
*DATA: LS_EKPO LIKE EKPO.
*MOVE POT TO LS_EKPO.
LS_EKPO-MENGE IS PO QUANTITY ls_ekpo-menge is PO quantity
LS_EKPO_UNTTO IS UNDELIVERY TOLERANCE LIMIT
LS_EKPO_UEBTO IS OVERDELIVERY TOLERANCE LIMIT
F3 = LS_EKPO-MENGE * LS_EKPO-UNTTP/100
F4 = LS_EKPO-MENGE + LS_EKPO-MENGE * LS_EKPO-UEBTO/100
*f1 = f1 + 100.
*f2 = 100.
DATA: fields LIKE SVAL OCCURS 0 WITH HEADER LINE,
CHAR_FOUND(1),
answer(1),
FIFTEEN_DAYS LIKE SY-DATUM,
SCHED_QUAN LIKE CETT-MENGE,
QUANTITY LIKE CETT-MENGE.
CLEAR: fields,
CHAR_FOUND,
SCHED_QUAN.
REFRESH: fields.
IF f1 = 0.
fields-TABNAME = 'MSEG'.
fields-FIELDNAME = 'ERFMG'.
APPEND fields.
FIFTEEN_DAYS = SY-DATUM + 15.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
NO_VALUE_CHECK = 'X'
POPUP_TITLE = 'QUANTITY TO RECEIVE'
START_COLUMN = '5'
START_ROW = '5'
IMPORTING
RETURNCODE =
TABLES
FIELDS = fields
EXCEPTIONS
ERROR_IN_FIELDS = 1
OTHER = 2
READ TABLE fields INDEX 1.
QUANTITY = fields-VALUE.
SORT CETT BY EINDT.
LOOP AT CETT.
IF SCHED_QUAN GE QUANTITY.
CHAR_FOUND = 'X'.
EXIT.
ELSEIF CETT-EINDT GT FIFTEEN_DAYS.
CHAR_FOUND ='X'.
EXIT.
ELSE.
SCHED_QUAN = CETT-MENGE + SCHED_QUAN.
ENDIF.
ENDLOOP.
IF SCHED_QUAN GE QUANTITY OR CHAR_FOUND = 'X'.
F1 = SCHED_QUAN.
F2 = F1.
ELSEIF SCHED_QUAN LT QUANTITY.
CALL FUNCTION 'POPUP_WITH_2_BUTTONS_TO_CHOOSE'
EXPORTING
DEFAULTOPTION = '1'
DIAGNOSETEXT1 = 'ENTER'
DIAGNOSETEXT2 = ' '
DIAGNOSETEXT3 = ' '
TEXTLINE1 = 'DO YOU WANT TO INCLUDE DELIVERIES MORE THAN 15 DAYS IN THE FUTURE'
TEXTLINE2 = ' '
TEXTLINE3 = ' '
TEXT_OPTION1 = 'YES'
TEXT_OPTION2 = 'NO'
TITEL = 'USER EXIT'
IMPORTING
ANSWER = answer.
IF ANSWER = 1.
CLEAR SCHED_QUAN.
LOOP AT CETT.
IF SCHED_QUAN GE QUANTITY.
F1 = SCHED_QUAN.
F2 = F1.
EXIT.
ELSE.
SCHED_QUAN = CETT-MENGE + SCHED_QUAN.
AT LAST.
IF SCHED_QUAN GE QUANTITY.
F1 = SCHED_QUAN.
F2 = F1.
ENDIF.
ENDAT.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
‎2007 Feb 07 8:58 PM
Use function POPUP_GET_VALUES_DB_CHECKED and pospulate table parameter 'fields'. This will allow you to accept multiple fields at a time.
Shrikant