Code: Alles auswählen.
FORM PRUEFEN_RLZ
using i_matnr like i_ve-matnr
wa_hu type c.
break joma.
data: lv_rlz type ALPFDBNUM,
lv_pkzrlz type EXDTF,
l_refdate type ALDATE,
lv_answer type char10,
ls_vepo like vepo,
lt_nums TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
lt_char TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
lt_curr TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR,
lt_return TYPE TABLE OF bapiret2,
ls_nums type BAPI1003_ALLOC_VALUES_NUM,
ls_char type BAPI1003_ALLOC_VALUES_CHAR,
lv_matnr type BAPI1003_KEY-OBJECT,
lv_fname type c value 'zscan_wa03' LENGTH 10,
lv_text1 type c LENGTH 27,
it_text1 type STANDARD TABLE OF tline,
lv_HU type c LENGTH 21,
lv_id type THEAD-TDID,
lv_lang type THEAD-TDSPRAS,
lv_name type THEAD-TDNAME,
lv_obj TYPE THEAD-TDOBJECT,
it_head TYPE STANDARD TABLE OF thead WITH HEADER LINE.
lv_matnr = i_matnr.
SELECT single * FROM vepo
Into ls_vepo
Where venum = i_ve-venum
And vepos = i_ve-vepos.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = lv_matnr
objecttable = 'MARA'
classnum = 'RESTLAUFZEIT_VERBR'
classtype = '001'
KEYDATE = SY-DATUM
* UNVALUATED_CHARS = ' '
LANGUAGE = SY-LANGU
* IMPORTING
* STATUS =
* STANDARDCLASS =
TABLES
allocvaluesnum = lt_nums
allocvalueschar = lt_char
allocvaluescurr = lt_curr
RETURN = lt_return
.
loop at lt_nums into ls_nums.
lv_rlz = ls_nums-value_from.
*ls_nums-VALUE_FROM
endloop.
loop at lt_char into ls_char.
lv_pkzrlz = ls_char-VALUE_NEUTRAL.
endloop.
CALL FUNCTION 'ZBC_CALC_DATE'
EXPORTING
in_rectype = lv_pkzrlz
in_nbr_dwxmqy = lv_rlz
in_date = sy-datum
IMPORTING
OUT_DATE = l_refdate
EXCEPTIONS
OTHER_ERROR = 1
OTHERS = 2
.
IF ls_vepo-vfdat < l_refdate.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
* DEFAULTOPTION = 'Y'
TEXTLINE1 = 'Restlaufzeit wurde unterschritten wollen sie denoch fortfahren?'
* TEXTLINE2 = ' '
TITEL = 'Restlaufzeit unterschritten'
* START_COLUMN = 25
* START_ROW = 6
* CANCEL_DISPLAY = 'X'
IMPORTING
ANSWER = lv_answer
.
endif.
lv_HU = wa_HU .
lv_id = 'ZRLZ'.
lv_lang = 'EN'.
lv_obj = 'VBBK'.
lv_name = wa_vbeln.
CONCATENATE '*' sy-uname lv_HU INTO lv_text1 SEPARATED BY ' '.
IF lv_answer = 'N'.
return.
elseif lv_answer = 'J'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = lv_id
LANGUAGE = lv_lang
NAME = lv_name
OBJECT = lv_obj
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
* OLD_LINE_COUNTER =
TABLES
LINES = it_text1
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
* IF SY-SUBRC <> 0.
** Implement suitable error handling here
* ENDIF.
APPEND lv_text1 to it_text1.
it_head-tdobject = 'VBBK' .
it_head-tdname = wa_vbeln .
it_head-tdid = 'ZRLZ'.
it_head-tdspras = 'EN'.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
HEADER = it_head
* INSERT = ' '
SAVEMODE_DIRECT = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
TABLES
LINES = it_text1
* EXCEPTIONS
* ID = 1
* LANGUAGE = 2
* NAME = 3
* OBJECT = 4
* OTHERS = 5
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
else.
return.
ENDIF.
clear sy-msgno.
ENDFORM.