天天看点

创建供应商API

DECLARE

  CURSOR c IS

    SELECT mm.manufacturer_id

          ,mm.manufacturer_name

          ,mm.description

          ,mm.attribute5 --曾用名

          ,mm.attribute4

          ,mm.attribute6

          ,mm.attribute7

          ,mm.attribute9

           -- ,mm.created_by

           --  ,mm.creation_date

          ,mm.attribute3

          ,mm.attribute1

      FROM mtl_manufacturers mm

     WHERE NOT EXISTS (SELECT 1

              FROM ap.ap_suppliers ap

             WHERE mm.description = ap.vendor_name); --1246

  l_vendor_rec    ap_vendor_pub_pkg.r_vendor_rec_type;

  j               NUMBER := 0;

  l_segment1      VARCHAR2(240);

  x_return_status VARCHAR2(240);

  x_msg_count     NUMBER;

  x_msg_message   VARCHAR2(4000);

  l_vendor_id     NUMBER;

  l_party_id      NUMBER;

BEGIN

  FOR i IN c LOOP

    l_segment1 := cux_hap_comm_data_pkg.get_max_segment1;

    j          := j + 1;

    -- 创建供应商 

    l_vendor_rec                         := NULL;

    l_vendor_rec.segment1                := l_segment1;

    l_vendor_rec.vendor_name             := i.description;

    l_vendor_rec.vendor_type_lookup_code := 'VENDOR';

    l_vendor_rec.attribute_category      := NULL;

    l_vendor_rec.attribute2              := '系统外';

    l_vendor_rec.attribute4              := i.attribute4;

    l_vendor_rec.attribute5              := 'VENDOR';

    --modify by [email protected]

    --PIM在处理时,供方档案密级不保存单据表头密级,默认存储为“内部(代码)

    l_vendor_rec.attribute6 := 'VC9F3MBC4G6I6NA'; --i.security_level;

    --end modify

    l_vendor_rec.attribute7        := i.attribute6;

    l_vendor_rec.attribute8        := i.attribute7;

    l_vendor_rec.attribute9        := i.attribute9;

    l_vendor_rec.attribute10       := 'ONLY_MANUFACTURER';

    l_vendor_rec.start_date_active := SYSDATE; --INSERT BY [email protected]

    IF i.attribute3 = 'Y' THEN

      l_vendor_rec.end_date_active := SYSDATE - 1;

    ELSE

      l_vendor_rec.end_date_active := NULL;

    END IF;

    --INSERT BY [email protected]

    l_vendor_rec.vendor_name_alt := i.attribute1; --ADD BY [email protected]

    l_vendor_rec.attribute11     := i.manufacturer_name;

    l_vendor_rec.attribute12     := i.manufacturer_id;

    l_vendor_rec.attribute13     := i.description; --ADD BY [email protected] 制造商名称(与供应商名称一致)

    l_vendor_rec.attribute14     := i.attribute5; --ADD BY [email protected]

    l_vendor_rec.attribute15     := 'INTRANET'; --ADD BY [email protected]

    l_vendor_rec.attribute1      := NULL; --ADD BY [email protected]

    ap_vendor_pub_pkg.create_vendor(p_api_version      => 1.0

                                   ,p_init_msg_list    => fnd_api.g_false

                                   ,p_commit           => fnd_api.g_false

                                   ,p_validation_level => fnd_api.g_valid_level_full

                                   ,x_return_status    => x_return_status

                                   ,x_msg_count        => x_msg_count

                                   ,x_msg_data         => x_msg_message

                                   ,p_vendor_rec       => l_vendor_rec

                                   ,x_vendor_id        => l_vendor_id

                                   ,x_party_id         => l_party_id);

  END LOOP;

  dbms_output.put_line(j);

END;

po