Eyl
3
2015

Teslimata Atanmış Sevk Satırlarının Teslimat Atamasının Kaldırılması

Merhaba,

Bu yazımda teslimata atanmış olan sevk satırlarının teslimattan kaldırılması için gereken örnek bir scripti paylaşacağım.

 
 
/* Formatted on 2015/09/03 09:05 (Formatter Plus v4.8.8) */
DECLARE
   p_delivery_detail_id   NUMBER                               := 52145214;
                                        --> delivery_detail_id verilmelidir !
   l_tabofdeldets         wsh_delivery_details_pub.id_tab_type;
   l_validation_level     NUMBER;
   l_action               VARCHAR2 (30)                        := 'UNASSIGN';
   l_msg_details          VARCHAR2 (2400);
   l_msg_summary          VARCHAR2 (2400);
   l_delivery_id          NUMBER;
   p_count                NUMBER;
   l_line_rows            wsh_util_core.id_tab_type;
   l_del_rows             wsh_util_core.id_tab_type;
   v_error_msg            VARCHAR2 (2400);
   v_msg_data             VARCHAR2 (2400);
   l_return_status        VARCHAR2 (1);
   l_msg_count            NUMBER;
   l_msg_data             VARCHAR2 (2400);
   p_delivery_id          NUMBER;
   p_delivery_name        VARCHAR2 (30);
BEGIN
--********************************************************************
   SELECT delivery_id
     INTO l_delivery_id
     FROM wsh_delivery_assignments
    WHERE 1 = 1 AND delivery_detail_id = p_delivery_detail_id;
 
--********************************************************************
   l_tabofdeldets (1) := p_delivery_detail_id;
   p_delivery_id := l_delivery_id;
   p_delivery_name := TO_CHAR (l_delivery_id);
--********************************************************************
   wsh_delivery_details_pub.detail_to_delivery
                            (p_api_version           => 1.0,
                             p_init_msg_list         => fnd_api.g_true,
                             p_commit                => fnd_api.g_false,
                             p_validation_level      => fnd_api.g_valid_level_full,
                             x_return_status         => l_return_status,
                             x_msg_count             => l_msg_count,
                             x_msg_data              => l_msg_data,
                             p_tabofdeldets          => l_tabofdeldets,
                             p_action                => l_action,
                             p_delivery_id           => p_delivery_id,
                             p_delivery_name         => p_delivery_name
                            );
 
--********************************************************************
   IF l_return_status = wsh_util_core.g_ret_sts_success
   THEN
      DBMS_OUTPUT.put_line
            (   p_delivery_detail_id
             || ' id li delivery_detail_id nin teslimattan ataması kaldırıldı !'
            );
   ELSE
      IF l_msg_count > 1
      THEN
         LOOP
            p_count := p_count + 1;
            v_msg_data :=
                        fnd_msg_pub.get (fnd_msg_pub.g_next, fnd_api.g_false);
 
            IF v_msg_data IS NULL
            THEN
               EXIT;
            END IF;
 
            l_msg_data := l_msg_data || ',' || v_msg_data;
         END LOOP;
 
         l_msg_data := LTRIM (l_msg_data, ',');
         DBMS_OUTPUT.put_line
            (   p_delivery_detail_id
             || ' id li delivery_detail_id nin teslimattan ataması kaldırılırken hata : '
             || l_msg_data
            );
      ELSE                                             --> l_msg_count = 1 ise
         DBMS_OUTPUT.put_line
            (   p_delivery_detail_id
             || ' id li delivery_detail_id nin teslimattan ataması kaldırılırken hata : '
             || l_msg_data
            );
      END IF;
   END IF;
--********************************************************************
END;
Mustafa Korkmaz


Yorum yapın

*