BPAI: Z_BAPI_GET_PK_INSTRUCTIONS.
FUNCTION Z_BAPI_GET_PK_INSTRUCTIONS.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(I_LOTNO) LIKE VBAP-KDMAT OPTIONAL
*" EXPORTING
*" VALUE(E_RETURN) TYPE TLINE-TDLINE
*"----------------------------------------------------------------------
* Author: Wei_Zhu
* Date: 2007-06-20
* Description: IBL input LotNo Get Saler Order Item Level Text
* Packing Instructions Content.
*
* Logic: 1) -> KDMAT "Customer_Number(Lot No)
* <- VBLEN " Sales Order
* <- POSNR " Item Number
* + AUART Not In 'RWRK' " Sales Order Type NE Rework
*
* 2) -> Call Function 'READ_TEXT'
* <- Get Saler Order Item Level -Text -Packing Instructions
*
* Task# 1283
* Request# DEVK922925
* DEVK922929
*-----------------------------------------------------------------------
DATA: LotNo LIKE VBAP-KDMAT, "Lot No
Pk_Instr TYPE Tline-TDLINE, "Packing Instructions
VBLEN LIKE VBAP-VBELN, "Sales document
POSNR LIKE VBAP-POSNR, "Sales Document Item
Il_Tline LIKE tline OCCURS 0 WITH HEADER LINE,
Vl_Tdname LIKE thead-tdname.
LotNo = I_LotNO.
*-----------------------------------------------------------------------
* Get Sales Order and Item Number By Customer Material(LotNo)
*-----------------------------------------------------------------------
Select single VBAP~VBELN VBAP~POSNR
Into (VBLEN,POSNR)
From VBAP
INNER JOIN VBAK
ON VBAP~VBELN = VBAK~VBELN
WHERE VBAK~AUART NOT IN ('RWRK')
AND VBAP~KDMAT = LotNO .
CONCATENATE VBLEN POSNR INTO Vl_Tdname.
*-----------------------------------------------------------------------
* Call Function Read_Text Get Packing Instructions
*-----------------------------------------------------------------------
Call Function 'READ_TEXT'
Exporting
Client = Sy-Mandt
ID = 'Z009'
Language = 'E'
Name = Vl_Tdname
Object = 'VBBP'
* Archive_Handle = 0
* Local_Cat = ''
* Importing
* Header =
Tables
Lines = Il_Tline
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.
* Message ID Sy-MsgID Type Sy-MsgTy Number Sy-MsGno
* With Sy-Msgv1 Sy-MsgV2 Sy-MsgV3 Sy-MsgV4.
Else.
LOOP AT Il_Tline.
IF Il_Tline-TDLINE NE ''.
Pk_Instr = Il_Tline-TDLINE.
ENDIF.
ENDLOOP.
EndIf.
IF Pk_Instr NE ''.
E_RETURN = Pk_Instr.
ELSE.
E_RETURN = ''.
ENDIF.
ENDFUNCTION.