05-15-2006 9:57 AM
Hi All ,
i have developed a custom smartform and a custom Pritprogram . while executing form the transaction it is showing the form but in the OUTPUT type it is showing redbutton . in the processinglog it is giving message "Processing routine ENTRY in program ZZ_SDSH_PALLET_MANIFEST does not exist "
But in my print program i have a routine ENTRY .
while debugging i found that after exeqution of FORM sy-subrc = 0 and after that in Function module PROGRAMM_AUFRUFEN , i am getting the RETURNCODE = 999 .
If i give the return code = 0 . then Output type is displaying in green button .
sample code of Print program :
FORM ENTRY USING RETURN_CODE TYPE I SCREEN_OUTPUT TYPE C.
doing some code and calling Form function module.
ENDFORM.
FORM PROTOCOL_UPDATE USING SCREEN_OUTPUT.
CHECK SCREEN_OUTPUT EQ SPACE.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0. ENDIF.
ENDFORM.
-
Thanks
05-15-2006 10:02 AM
Hi,
It looks like there is a problem with PROGRAMM_AUFRUFEN. What exactly is happening here?
Regards,
Ravi
05-15-2006 10:05 AM
05-15-2006 10:32 AM
Check this code out..
REPORT ZSD_PACKING_LIST_EN .
*-------------------------------------------------------------------*
* Program : ZSD_PACKING_LIST. *
* Author : Suresh Kashimalla *
* Date : 11/29/2004 *
* Description: Driver Program for Packing List(SD) *
* *
*********************************************************************
* Modification Log *
* Author : *
* Date of change : *
* Functional Spec # : *
* Correction Request # : *
* Description of Change : *
*********************************************************************
Tables: nast, "Messages
*nast, "Messages
tnapr, "Programs & Forms
itcpo, "Communicationarea for Spool
arc_params, "Archive parameters
toa_dara, "Archive parameters
addr_key, "Adressnumber for ADDRESS
MARM,
vepo.
type-pools szadr.
DATA price_print_mode(1) TYPE c. "Print-mode
DATA: retcode LIKE sy-subrc. "Returncode
DATA: repeat(1) TYPE c.
DATA: xscreen(1) TYPE c. "Output on printer or screen
Data: GS_Vbeln like LIKP-VBELN.
DATA : V_SIGNI like VTTK-signi,
V_TPBEZ like VTTK-TPBEZ,
v_vltdr like vttk-TDLNR,
v_name1 TYPE name1,
v_lfipl like lips-lfimg,
v_lfipl1 like lips-lfimg.
DATA : V_CONLB TYPE F VALUE '2.20458553791887'.
************************************************************************
*Intenal Tables Declarations
************************************************************************
*Internal tabel Details fro SD Document: Delivery Header Data
DATA : BEGIN OF IT_LIKP OCCURS 0.
INCLUDE STRUCTURE LIKP.
DATA : END OF IT_LIKP.
DATA : BEGIN OF IT_ZLIKP OCCURS 0,
VBELN LIKE LIKP-VBELN, " Delivery
LFDAT LIKE LIKP-LFDAT, " Delivery Date
KUNNR LIKE LIKP-KUNNR, " Ship-To Party
BTGEW LIKE LIKP-BTGEW, " Total Weight
GEWEI LIKE LIKP-GEWEI, " Weight Unit
NTGEW LIKE LIKP-NTGEW, " Net weight
VOLUM LIKE LIKP-VOLUM, " Volume
VOLEH LIKE LIKP-VOLEH, " Volume unit
TRAID LIKE LIKP-TRAID, "Means of Transport ID
BTGEWLB LIKE LIKP-BTGEW, " Total Weight
GEWEILB LIKE LIKP-GEWEI, " Weight Unit
NTGEWLB LIKE LIKP-NTGEW, " Net weight
INCO1 LIKE LIKP-INCO1, " Terms of deleviry
INCO2 LIKE LIKP-INCO2, " Terms of deleviry
END OF IT_ZLIKP.
*DATA : BEGIN OF IT_VTTK OCCURS 0,
* TKNUM LIKE VTTK-TKNUM, " Shipment Number
* EDOCK LIKE VTTK-SIGNI, " Container ID
* ADOCK LIKE VTTK-TPBEZ, " Description of Shipment
* END OF IT_VTTK.
*Intenal table for Item Details from lips
DATA : BEGIN OF IT_LIPS OCCURS 0,
vgpos like lips-vgpos, " Refrence Doc Line item
VBELN LIKE LIPS-VBELN, " Delivery
POSNR LIKE LIPS-POSNR, " Delivery item
lfimg like lips-lfimg, " Actual quantity delivered
meins like lips-meins, " Delivered Quantity UOM
MATNR LIKE LIPS-MATNR, " Material Number
vgbel like lips-matnr, " Refrence Doc.
KWMENG LIKE VBAP-KWMENG, " Order quantity
VRKME LIKE VBAP-VRKME, " Unit
ARKTX LIKE LIPS-ARKTX, " Short Text for Sales Order Item
kcmeng like lips-kcmeng, " Cumml. Delivery Quantity
BSTNK LIKE VBAK-BSTNK, " Cust.SKU
lfipl like lips-lfimg, " Actual quantity delivered
lfior like lips-lfimg, " Actual quantity delivered
meinso like lips-meins, " Delivered Quantity UOM
END OF IT_LIPS.
*Internal table for Material Data.
DATA : BEGIN OF IT_MAT OCCURS 0,
MATNR LIKE MARA-MATNR,
BISMT LIKE MARA-BISMT,
END OF IT_MAT.
*Internal table declaration for Special Note.
Data : Begin of it_STXH occurs 0,
TDOBJECT like STXH-TDOBJECT,
TDNAME like STXH-TDNAME,
TDID like STXH-TDID,
TDSPRAS like STXH-TDSPRAS,
End of it_STXH.
*Internal table for Item
Data : Begin of It_vbap occurs 0,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
End of it_vbap.
Data : It_IStxh like It_stxh occurs 0 with header line.
Data : V_posnr type char16.
Data : Begin of it_posnr occurs 0,
item like stxh-tdname,
End of it_posnr.
*pallet
DATA: IT_LTAP LIKE ZLTAP OCCURS 0 WITH HEADER LINE.
DATA: IT_ITEM LIKE ZLIPS_PACK OCCURS 0 WITH HEADER LINE.
*--Start of change by rashmi 30th Aug 05
data: v_vbelnl(70) type c,
it_line like tline occurs 0,
it_cert_line like tline occurs 0,
it_cust_line like tline occurs 0.
*--End of change by rashmi 30th Aug 05
*----------------------------------------------------------------------*
* Parameters Declaration *
*----------------------------------------------------------------------*
*PARAMETER : P_VBELN TYPE LIKP-VBELN.
*----------------------------------------------------------------------*
* Data Declaration *
*----------------------------------------------------------------------*
DATA : V_TKNUM LIKE VTTP-TKNUM.
DATA : V_BSTNK LIKE VBAK-BSTNK.
DATA : V_VBELV LIKE VBFA-VBELV.
DATA : V_VBELN LIKE VBAK-VBELN.
DATA : V_KWMENG LIKE VBAP-KWMENG.
DATA : V_WERKS LIKE LIPS-WERKS.
DATA : V_KUNNR LIKE KNA1-KUNNR.
DATA : V_TELF1 LIKE KNA1-TELF1.
DATA : V_TELFX LIKE KNA1-TELFX.
DATA : V_EBELN LIKE EKPO-EBELN,
V_BRGEW LIKE VEKP-BRGEW,
V_BTGEW LIKE LIKP-BTGEW.
CONSTANTS : C_J TYPE C VALUE 'J'.
DATA: LF_FM_NAME TYPE RS38L_FNAM.
*
DATA: V_LBBIL_INVOICE TYPE LBBIL_INVOICE, " Invoice
V_NAST TYPE NAST. " Nast
*
*data : it_likp like table of zlikp with header line.
**----------------------------------------------------------------------
**
** Start of Selection
**
**----------------------------------------------------------------------
**
************************************************************************
*Form Processing
************************************************************************
FORM entry USING return_code us_screen.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing.
IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDFORM. "entry
*---------------------------------------------------------------------*
* FORM PROCESSING *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM processing.
Data : Is_Sender type adrnr.
DATA: lf_fm_name TYPE rs38l_fnam.
DATA: ls_control_param TYPE ssfctrlop.
DATA: ls_composer_param TYPE ssfcompop.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
DATA: lf_formname TYPE tdsfname.
DATA: ls_addr_key LIKE addr_key.
Data: ls_APPL_OBJ type SWOTOBJID.
Data: LS_TSFDARA type TSFDARA.
DATA: document_output_info TYPE ssfcrespd,
job_output_info TYPE ssfcrescl,
job_output_options TYPE ssfcresop.
PERFORM get_data.
CHECK retcode = 0.
*Get the Smart Form name.
IF NOT tnapr-sform IS INITIAL.
lf_formname = tnapr-sform.
ELSE.
lf_formname = tnapr-fonam.
ENDIF.
*Get the Header text
* To get Special Notes.
Select TDOBJECT
TDNAME
TDID
TDSPRAS
into table it_STXH
from STXH
where TDNAME = Gs_vbeln.
* To get the ITem Details
Select VBELN
POSNR
into table it_vbap
from vbap
Where VBELN = GS_vbeln.
if not it_lips[] is initial.
loop at it_lips.
concatenate it_lips-vbeln it_lips-posnr into v_posnr.
it_posnr-item = v_posnr.
append it_posnr.
endloop.
endif.
*To Get the Item Text.
Select TDOBJECT
TDNAME
TDID
TDSPRAS
into table it_ISTXH
from STXH for all entries in it_posnr
where TDNAME = it_posnr-item.
select single werks
into v_werks
from lips
where vbeln = GS_VBELN.
concatenate '00' v_werks '0001' into v_kunnr.
select single telf1 telfx
into (v_telf1, v_telfx)
from kna1
where kunnr eq v_kunnr.
* CONVERTING GROSS AND NET WEIGHT INTO LBs
IT_ZLIKP-BTGEWLB = IT_ZLIKP-BTGEW * V_CONLB.
IT_ZLIKP-GEWEILB = 'LB'.
IT_ZLIKP-NTGEWLB = IT_ZLIKP-NTGEW * V_CONLB.
loop at it_ltap.
* it_ltap-brgewlb = it_ltap-brgew * V_CONLB.
it_ltap-geweilb = 'LB'.
it_ltap-vistmlb = it_ltap-vistm * V_CONLB.
modify it_ltap index sy-tabix.
endloop.
* determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_PACKING_LIST_EN'
IMPORTING
FM_NAME = LF_FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* error handling
RETCODE = SY-SUBRC.
* PERFORM protocol_update.
ENDIF.
*--Start of change by rashmi on 30th Aug 2005.
* CALL FUNCTION lf_fm_name
* EXPORTING
* ARCHIVE_INDEX = TOA_DARA
* ARCHIVE_INDEX_TAB = LS_TSFDARA
* ARCHIVE_PARAMETERS = ARC_PARAMS
* CONTROL_PARAMETERS = ls_control_param
* MAIL_APPL_OBJ = ls_APPL_OBJ
* MAIL_RECIPIENT = ls_recipient
* MAIL_SENDER = ls_sender
* OUTPUT_OPTIONS = ls_composer_param
* USER_SETTINGS = ' '
* znast = nast
* IT_LIKP = IT_ZLIKP
* V_TKNUM = V_TKNUM
* V_tpbez = V_tpbez
* V_Signi = V_signi
* V_NAME1 = V_NAME1
* V_BSTNK = V_BSTNK
* V_VBELN = V_VBELN
* v_telf1 = v_telf1
* v_telfx = v_telfx
* V_EBELN = V_EBELN
* V_CONLB = V_CONLB
* V_BTGEW = V_BTGEW
* IMPORTING
* DOCUMENT_OUTPUT_INFO = document_output_info
* JOB_OUTPUT_INFO = job_output_info
* JOB_OUTPUT_OPTIONS = job_output_options
* TABLES
* IT_LIPS = IT_ITEM
* IT_LTAP = IT_LTAP
* it_STXH = it_STXH
** it_ISTXH = it_ISTXH
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 4
* OTHERS = 5.
call function LF_FM_NAME "/1BCDWB/SF00000105
exporting
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_INDEX_TAB = LS_TSFDARA
ARCHIVE_PARAMETERS = ARC_PARAMS
CONTROL_PARAMETERS = ls_control_param
MAIL_APPL_OBJ = ls_APPL_OBJ
MAIL_RECIPIENT = ls_recipient
MAIL_SENDER = ls_sender
OUTPUT_OPTIONS = ls_composer_param
USER_SETTINGS = ' '
znast = nast
it_likp = IT_ZLIKP
v_tknum = V_TKNUM
v_tpbez = V_tpbez
v_name1 = V_NAME1
v_signi = V_SIGNI
v_bstnk = V_BSTNK
v_vbeln = V_VBELN
v_telf1 = v_telf1
v_telfx = v_telfx
v_ebeln = V_EBELN
v_conlb = V_CONLB
v_btgew = V_BTGEW
IMPORTING
DOCUMENT_OUTPUT_INFO = document_output_info
JOB_OUTPUT_INFO = job_output_info
JOB_OUTPUT_OPTIONS = job_output_options
tables
it_lips = IT_ITEM
it_ltap = IT_LTAP
it_stxh = it_STXH
it_line = it_line
*--Start of changes by Rashmi on 30th Aug 05 .
it_cert_line = it_cert_line
it_cust_line = it_cust_line
*--End of changes by Rashmi on 30th Aug 05.
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
.
*if sy-subrc <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*endif.
*--End of change by rashmi on 30th Aug 2005.
IF sy-subrc <> 0.
retcode = sy-subrc.
PERFORM protocol_update.
* get SmartForm protocoll and store it in the NAST protocoll
* PERFORM add_smfrm_prot.
ENDIF.
ENDFORM. "processing
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA .
IF NAST-OBJKY+10 NE SPACE.
NAST-OBJKY = NAST-OBJKY+16(10).
ELSE.
NAST-OBJKY = NAST-OBJKY.
ENDIF.
*Select Nast Entries
GS_VBELN = NAST-OBJKY.
*To Get the Header Details
SELECT VBELN
LFDAT
KUNNR
BTGEW
GEWEI
NTGEW
VOLUM
VOLEH
TRAID
INCO1
INCO2
INTO CORRESPONDING FIELDS OF TABLE IT_LIKP
FROM LIKP
WHERE VBELN = GS_VBELN.
select single btgew from likp into v_btgew where vbeln = gs_vbeln.
IF SY-SUBRC = 0.
LOOP AT IT_LIKP.
MOVE-CORRESPONDING IT_LIKP TO IT_ZLIKP.
*--Start of Changes by Rashmi 30th aug 2005.
v_vbelnl = it_likp-vbeln.
condense v_vbeln.
call function 'READ_TEXT'
exporting
* CLIENT = SY-MANDT
id = 'Z002'
language = 'E'
name = v_vbelnl
object = 'VBBK'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
tables
lines = IT_LINE[]
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
call function 'READ_TEXT'
exporting
* CLIENT = SY-MANDT
id = 'Z007'
language = 'E'
name = V_VBELNL
object = 'VBBK'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
tables
lines = IT_CERT_LINE[]
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
call function 'READ_TEXT'
exporting
* CLIENT = SY-MANDT
id = 'Z014'
language = 'E'
name = V_VBELNL
object = 'VBBK'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
tables
lines = IT_CUST_LINE[]
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
*--End of changes by Rashmi 30th Aug 2005.
ENDLOOP.
ENDIF.
*Customer PO no
SELECT VBELV
FROM VBFA
INTO V_VBELV UP TO 1 ROWS
WHERE VBELN = GS_VBELN
AND VBTYP_N = C_J.
ENDSELECT.
IF SY-SUBRC = 0.
SELECT VBELN
BSTNK
INTO (V_VBELN, V_BSTNK ) UP TO 1 ROWS
FROM VBAK
WHERE VBELN = V_VBELV.
ENDSELECT.
ENDIF.
*To Get item Details
SELECT vgpos
VBELN
POSNR
LFIMG
meins
MATNR
vgbel
vgpos
ARKTX
KCMENG
VRKME
INTO CORRESPONDING FIELDS OF TABLE IT_LIPS
FROM LIPS
WHERE VBELN = GS_VBELN.
sort it_lips by vgpos ascending posnr descending.
IF NOT IT_LIPS[] IS INITIAL.
*Start of changes by Rashmi on 22nd Feb 06.
*Pallet
* SELECT NLENR
* BRGEW
* GEWEI
* VISTM
* MATNR
* POSNR
* CHARG
* VLENR
* FROM LTAP
* INTO CORRESPONDING FIELDS OF TABLE IT_LTAP
* FOR ALL ENTRIES IN IT_LIPS
* WHERE VBELN = GS_VBELN
* AND MATNR = IT_LIPS-MATNR
* AND POSNR = IT_LIPS-POSNR
* and vorga = 'LF'.
* ENDIF.
* Get the pallets from LTAP.
SELECT NLENR
BRGEW
GEWEI
VISTM
MATNR
POSNR
CHARG
VLENR
FROM LTAP
INTO CORRESPONDING FIELDS OF TABLE IT_LTAP
FOR ALL ENTRIES IN IT_LIPS
WHERE VBELN = GS_VBELN
AND MATNR = IT_LIPS-MATNR
AND POSNR = IT_LIPS-POSNR
and vorga = 'LF'.
*Check from vepo and vekp tables if pallets not forund in LTAP.
if it_ltap[] is initial.
*End of changes by Rashmi on 22nd Feb 06.
select vekp~exidv
vekp~brgew
vekp~gewei
vekp~ntgew
vepo~matnr
vepo~posnr
vepo~charg
into table it_ltap
from vepo inner join vekp on vekp~venum = vepo~venum
for all entries in it_lips
where vbeln = gs_vbeln
and matnr = it_lips-matnr
and posnr = it_lips-posnr.
endif.
endif.
loop at it_lips.
*Start of comment by Rashmi on 22nd Feb 06.
* select count(*)
* into v_lfipl
* from ltap
* WHERE VBELN = GS_VBELN
* AND MATNR = IT_LIPS-MATNR
* AND POSNR = IT_LIPS-POSNR
* and vorga = 'LF'.
*Start of changes by Rashmi on 30th Jan 06.
select count(*)
into v_lfipl
from VEPO
WHERE VBELN = GS_VBELN
AND MATNR = IT_LIPS-MATNR
AND POSNR = IT_LIPS-POSNR.
* and vorga = 'LF'.
if v_lfipl is initial and v_lfipl1 is initial. "Change on 22nd Feb
select count(*)
into v_lfipl
from ltap
WHERE VBELN = GS_VBELN
AND MATNR = IT_LIPS-MATNR
AND POSNR = IT_LIPS-POSNR
and vorga = 'LF'.
endif.
*End of changes by Rashmi on 30th Jan 06.
v_lfipl1 = v_lfipl1 + v_lfipl.
clear v_lfipl.
at end of vgpos.
read table it_lips index sy-tabix.
move it_lips-vrkme to it_lips-meinso.
clear it_lips-vrkme.
if it_lips-lfimg is initial.
move it_lips-kcmeng to it_lips-lfimg.
endif.
if not v_lfipl1 is initial.
it_lips-meins = 'PL'.
endif.
move v_lfipl1 to it_lips-lfipl.
modify it_lips.
clear it_lips.
clear v_lfipl1.
endat.
endloop.
sort it_lips by vgpos posnr.
sort it_ltap by matnr posnr.
*Shipment no
SELECT TKNUM FROM VTTP
INTO V_TKNUM UP TO 1 ROWS
WHERE VBELN = GS_VBELN.
ENDSELECT.
if sy-subrc = 0.
Select single tdlnr Signi tpbez
into (v_vltdr, v_Signi, v_tpbez)
from vttk
where tknum = v_tknum.
if not v_vltdr is initial.
select single name1 into v_name1
from lfa1
where lifnr eq v_vltdr.
clear v_vltdr.
endif.
endif.
SELECT MATNR BISMT
INTO TABLE IT_MAT
FROM MARA FOR ALL ENTRIES IN IT_LIPS
WHERE MATNR = IT_LIPS-MATNR.
LOOP AT IT_LIPS.
*Order quantity
SELECT KWMENG
vrkme
INTO (IT_LIPS-KWMENG, it_lips-vrkme) UP TO 1 ROWS
FROM VBAP
WHERE VBELN = V_VBELV
AND POSNR = IT_LIPS-POSNR.
ENDSELECT.
if sy-subrc <> 0.
SELECT EBELN
MENGE
MEINS
INTO (V_EBELN, IT_LIPS-KWMENG, it_lips-vrkme) UP TO 1 ROWS
FROM EKPO
WHERE EBELN = IT_LIPS-VGBEL
AND EBELP = IT_LIPS-VGPOS+1(5).
ENDSELECT.
endif.
* move-corresponding it_likp to it_item.
READ TABLE IT_MAT WITH KEY MATNR = IT_LIPS-MATNR.
MOVE IT_MAT-BISMT TO IT_ITEM-BISMT.
MOVE : IT_LIPS-VBELN TO IT_ITEM-VBELN,
IT_LIPS-POSNR TO IT_ITEM-POSNR,
IT_LIPS-LFIMG TO IT_ITEM-LFIMG,
IT_LIPS-LFIPL TO IT_ITEM-LFIPL,
IT_LIPS-MEINS TO IT_ITEM-MEINS,
IT_LIPS-MATNR TO IT_ITEM-MATNR,
IT_LIPS-KWMENG TO IT_ITEM-KWMENG,
IT_LIPS-VRKME TO IT_ITEM-VRKME,
V_BSTNK TO IT_ITEM-BSTNK,
IT_LIPS-ARKTX TO IT_ITEM-ARKTX .
if it_lips-meinso <> it_lips-vrkme.
SELECT SINGLE *
FROM MARM
WHERE MATNR = IT_LIPS-MATNR
AND MEINH = IT_LIPS-VRKME.
IF SY-SUBRC EQ 0.
IT_ITEM-LFIOR = ( IT_ITEM-LFIMG * ( MARM-UMREN / MARM-UMREZ ) ).
ENDIF.
else.
move it_item-lfimg to it_item-lfior.
endif.
CLEAR MARM.
IF IT_ITEM-LFIPL IS INITIAL.
MOVE IT_ITEM-LFIMG TO IT_ITEM-LFIPL.
ENDIF.
APPEND IT_ITEM.
CLEAR IT_ITEM.
ENDLOOP.
ENDFORM. " get_data
*---------------------------------------------------------------------*
* FORM PROTOCOL_UPDATE *
*---------------------------------------------------------------------*
* The messages are collected for the processing protocol. *
*---------------------------------------------------------------------*
FORM protocol_update.
CHECK xscreen = space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = syst-msgid
msg_nr = syst-msgno
msg_ty = syst-msgty
msg_v1 = syst-msgv1
msg_v2 = syst-msgv2
msg_v3 = syst-msgv3
msg_v4 = syst-msgv4
EXCEPTIONS
OTHERS = 1.
ENDFORM. "protocol_update