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. 

posted on 2007-06-20 15:56  封起De日子  阅读(107)  评论(0编辑  收藏  举报

导航