Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Material Number

Former Member
0 Likes
329

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.

1 REPLY 1
Read only

Former Member
0 Likes
296

Use function POPUP_GET_VALUES_DB_CHECKED and pospulate table parameter 'fields'. This will allow you to accept multiple fields at a time.

Shrikant