Views 206
Visitors 114

BEFORE_CHECK

Home 
| Top Page | Threads |
Previous  Next

*Parameters
*IMPORTING
*I_REFOBJ Shipment
*I_SCD_ITEM Shipment cost item
*I_VTRLK Delivery header
*I_VTRLP Delivery item
*I_TRTYP Transaction type (create, change, display)
*CHANGING
*C_VFKN Account assignment line for shipment costs
 
 
*automatic assignment of internal order in account assignment.
method IF_EX_BADI_SCD_ACCTG~BEFORE_CHECK .
 
*** Move I/O number from Shipment document to Shipment Cost
select single TEXT1
  into C_VFKN-AUFNR from VTTK
  where TKNUM = I_SCD_ITEM-VFKP-REBEL.
 
 
*** G/L account Setting for Export Shipment
IF I_SCD_ITEM-VFKP-TPLST = 'P010'.
 
**** Shipping Cost Expense
   IF    I_SCD_ITEM-VFKP-FKPTY = '0001'
      OR I_SCD_ITEM-VFKP-FKPTY = 'ZE02'.
     C_VFKN-SAKTO = '0061019920'.
     C_VFKN-KOSTL = '0021211199'.
   ENDIF.
 
**** Insurance and Inspection Fee
   IF    I_SCD_ITEM-VFKP-FKPTY = '0003'
      OR I_SCD_ITEM-VFKP-FKPTY = 'ZE03'.
     C_VFKN-SAKTO = '0061019941'.
     C_VFKN-KOSTL = '0021211199'.
   ENDIF.
 
ENDIF.
 
 
 
*** G/L account Setting for Local Shipment
IF I_SCD_ITEM-VFKP-TPLST ne 'P010'.
 
   data: gw_shipto type likp-kunnr.
   data: gw_vbeln type likp-vbeln.
   data: gw_vkorg type likp-vkorg.
   data: gw_kostl type csks-kostl.
   data: gw_lfart type likp-lfart.
   data: gw_gsber type t134g-gsber.
 
 
**  Kondisi untuk Uang Sewa atau Mobil Sendiri
   IF I_SCD_ITEM-VFKP-FKPTY = 'Z003' or I_SCD_ITEM-VFKP-FKPTY = 'Z001'.
 
     select single vbeln into gw_vbeln from vttp
             where tknum = I_SCD_ITEM-VFKP-REBEL.
     select single kunnr into gw_shipto from likp
             where vbeln = gw_vbeln.
     select single vkorg into gw_vkorg from likp
             where vbeln = gw_vbeln.
     select single lfart into gw_lfart from likp
             where vbeln = gw_vbeln.
     select single gsber into gw_gsber from t134g
             where werks = I_SCD_ITEM-VFKP-WERKS.
 
** Get appropriate Cost Center
** Cost center table CSKS.
 
     IF gw_lfart = 'NL'.                " untuk pengiriman ke cabang
       C_VFKN-SAKTO = '0061010692'.
       IF I_SCD_ITEM-VFKP-FKPTY = 'Z003'.   "Sewa
         if gw_vkorg = 'A202'.   "untuk Building Material
**        CO Object untuk pengiriman antar cabang mobil sewa.
           select single kostl into gw_kostl from csks
                   where kokrs = 'WSCO'
                   and   gsber = gw_shipto
                   and   kosar = 'V'
                   and   khinr ge '21112000'
                   and   khinr le '21112999'.
           if sy-subrc = 0.
             C_VFKN-KOSTL = gw_kostl.
             Clear C_VFKN-AUFNR.
           endif.
         else.                   "untuk consumer goods
**        CO Object untuk pengiriman antar cabang mobil sewa.
           select single kostl into gw_kostl from csks
             where kokrs = 'WSCO'
             and   gsber = gw_shipto
             and   kosar = 'V'
             and   khinr ge '21111000'
             and   khinr le '21111999'.
           if sy-subrc = 0.
             C_VFKN-KOSTL = gw_kostl.
             Clear C_VFKN-AUFNR.
           endif.
         endif.
       ENDIF.
     ELSE.                  "Pengiriman ke langganan
       C_VFKN-SAKTO = '0061010690'.
       IF I_SCD_ITEM-VFKP-FKPTY = 'Z003'.   "Sewa
         if gw_vkorg = 'A202'.   "untuk Building Material
**        CO Object untuk pengiriman ke langganan mobil sewa.
           if gw_gsber ne 'AB01'.
             select single kostl into gw_kostl from csks
                     where kokrs = 'WSCO'
                     and   gsber = gw_gsber
                     and   kosar = 'V'
                     and   khinr ge '21111000'
                     and   khinr le '21111999'.
             if sy-subrc = 0.
               C_VFKN-KOSTL = gw_kostl.
               Clear C_VFKN-AUFNR.
             endif.
           else.
             C_VFKN-KOSTL = '0021112101'.
             Clear C_VFKN-AUFNR.
           endif.
         else.                   "untuk consumer goods
**        CO Object untuk pengiriman ke langganan mobil sewa.
           if gw_gsber ne 'AB01'.
             select single kostl into gw_kostl from csks
               where kokrs = 'WSCO'
               and   gsber = gw_gsber
               and   kosar = 'V'
               and   khinr ge '21111000'
               and   khinr le '21111999'.
             if sy-subrc = 0 and gw_gsber ne 'AB01'.
               C_VFKN-KOSTL = gw_kostl.
               Clear C_VFKN-AUFNR.
             endif.
           else.
             case I_SCD_ITEM-VFKP-WERKS.
               when '2011'.
                 C_VFKN-KOSTL = '0021111101'.
               when '2012'.
                 C_VFKN-KOSTL = '0021111102'.
               when '2013'.
                 C_VFKN-KOSTL = '0021111103'.
             endcase.
             Clear C_VFKN-AUFNR.
           endif.
         endif.
       ENDIF.
     ENDIF.
 
 
   ENDIF.
 
ENDIF.
 
endmethod.

User Threads | New Thread ( Only for Donators )

Threads Last Post Replies Views