1. 程式人生 > >詳解EBS介面開發之庫存事務處理-物料批次匯入

詳解EBS介面開發之庫存事務處理-物料批次匯入

庫存事務處理-物料批次匯入
--系統批次表
SELECT * FROM MTL_LOT_NUMBERS T;
--API建立批次
inv_lot_api_pub.create_inv_lot(x_return_status    => l_return_status,
                                     x_msg_count        => l_msg_count,
                                     x_msg_data         => l_msg_data,
                                     x_row_id           => l_row_id,
                                     x_lot_rec          => x_mtl_lot_numbers,
                                     p_lot_rec          => l_mtl_lot_numbers,
                                     p_source           => l_source,
                                     p_api_version      => l_api_version,
                                     p_init_msg_list    => l_init_msg_list,
                                     p_commit           => l_commit,
                                     p_validation_level => l_validation_level,
                                     p_origin_txn_id    => l_origin_txn_id);
--API更新批次
inv_lot_api_pub.update_inv_lot(
            x_return_status         OUT    NOCOPY VARCHAR2
          , x_msg_count             OUT    NOCOPY NUMBER
          , x_msg_data              OUT    NOCOPY VARCHAR2
          , x_lot_rec               OUT    NOCOPY MTL_LOT_NUMBERS%ROWTYPE
          , p_lot_rec               IN     MTL_LOT_NUMBERS%ROWTYPE
          , p_source                IN     NUMBER
          , p_api_version           IN     NUMBER
          , p_init_msg_list         IN     VARCHAR2 := fnd_api.g_false
          , p_commit                IN     VARCHAR2 := fnd_api.g_false);
          
--驗證批次唯一性
inv_lot_api_pub.validate_unique_lot(
    p_org_id            IN            NUMBER
  , p_inventory_item_id IN            NUMBER
  , p_lot_uniqueness    IN            NUMBER
  , p_auto_lot_number   IN            VARCHAR2
  , p_check_same_item   IN            VARCHAR2
  , x_is_unique         OUT NOCOPY    VARCHAR2
  );
  
--物料批次數量驗證
-----------------------------------------------------------------------
-- Name : validate_quantities
-- Desc : This procedure is used to validate transaction quantity2
--
-- I/P Params :
--     All the relevant transaction details :
--        - organization id
--        - item_id
--        - lot, revision, subinventory
--        - transaction quantities
-- O/P Params :
--     x_rerturn_status.
-- RETURN VALUE :
--   TRUE : IF the transaction is valid regarding Quantity2 and lot indivisible
--   FALSE : IF the transaction is NOT valid regarding Quantity2 and lot indivisible
--
-----------------------------------------------------------------------
inv_lot_api_pub.validate_quantities(
  p_api_version          IN  NUMBER
, p_init_msg_list        IN  VARCHAR2 := FND_API.G_FALSE
, p_transaction_type_id  IN  NUMBER
, p_organization_id      IN  NUMBER
, p_inventory_item_id    IN  NUMBER
, p_revision             IN  VARCHAR2
, p_subinventory_code    IN  VARCHAR2
, p_locator_id           IN  NUMBER
, p_lot_number           IN  VARCHAR2
, p_transaction_quantity IN OUT  NOCOPY NUMBER
, p_transaction_uom_code IN  VARCHAR2
, p_primary_quantity     IN OUT NOCOPY NUMBER
, p_primary_uom_code	 OUT NOCOPY VARCHAR2
, p_secondary_quantity   IN OUT NOCOPY NUMBER
, p_secondary_uom_code   IN OUT NOCOPY VARCHAR2
, x_return_status        OUT NOCOPY VARCHAR2
, x_msg_count            OUT NOCOPY NUMBER
, x_msg_data             OUT NOCOPY VARCHAR2);

--簡單參考例子
/**==================================================
  Procedure Name :
      create_inv_lot
  Description:
      This procedure is concurrent entry, perform:
      庫存事務處理批號生成   api 
  Argument:
     p_inventory_item_id   庫存物料id,
     p_organization_id     組織id,
     p_lot_number          批號: 
  History: 
      1.00  2013-10-29  cxy  Creation
  ==================================================*/
  PROCEDURE create_inv_lot(p_init_msg_list     IN VARCHAR2 DEFAULT fnd_api.g_false,
                           p_commit            IN VARCHAR2 DEFAULT fnd_api.g_false,
                           x_return_status     OUT NOCOPY VARCHAR2,
                           x_msg_count         OUT NOCOPY NUMBER,
                           x_msg_data          OUT NOCOPY VARCHAR2,
                           p_inventory_item_id IN NUMBER,
                           p_organization_id   IN NUMBER,
                           p_lot_number        VARCHAR2) IS
    l_api_name CONSTANT VARCHAR2(30) := 'create_inv_lot';
  
    
    l_count           NUMBER;
    x_mtl_lot_numbers mtl_lot_numbers%ROWTYPE;
    l_mtl_lot_numbers mtl_lot_numbers%ROWTYPE;
     /* Defined new variables for overloaded API call */
  
    l_api_version      NUMBER := 1.0;
    l_init_msg_list    VARCHAR2(100) := fnd_api.g_false; -- bug 7513308;
    l_commit           VARCHAR2(100) := fnd_api.g_false;
    l_validation_level NUMBER := fnd_api.g_valid_level_full;
    l_origin_txn_id    NUMBER := NULL;
    l_source           NUMBER := 2;
    l_return_status    VARCHAR2(1);
    l_msg_data         VARCHAR2(3000);
    l_msg_count        NUMBER;
    l_row_id           ROWID;
  
  BEGIN
    SAVEPOINT inv_lot_1;
    -- start activity to create savepoint, check compatibility
    -- and initialize message list, include debug message hint to enter api
    SELECT COUNT(1)
      INTO l_count
      FROM cux_inv_lot_number
     WHERE lot_number = p_lot_number;
  
    IF l_count = 0 THEN
      fnd_message.set_name('INV',
                           '在系統中不存在此批號:CUX_INV_LOT_NUMBER.lot_number');
      fnd_message.set_token('LOT_NUMBER', to_char(p_lot_number));
      fnd_msg_pub.add;
      RAISE fnd_api.g_exc_error;
    END IF;
  
    FOR rec_inv_lot IN cur_inv_lot LOOP
    
      l_mtl_lot_numbers.inventory_item_id      := p_inventory_item_id;
      l_mtl_lot_numbers.organization_id        := p_organization_id;
      l_mtl_lot_numbers.lot_number             := p_lot_number;
      l_mtl_lot_numbers.last_update_date       := SYSDATE;
      l_mtl_lot_numbers.last_updated_by        := g_user_id;
      l_mtl_lot_numbers.creation_date          := rec_inv_lot.lot_date;
      l_mtl_lot_numbers.created_by             := rec_inv_lot.created_by;
      l_mtl_lot_numbers.last_update_login      := g_login_id;
      l_mtl_lot_numbers.program_application_id := g_prog_appl_id;
      l_mtl_lot_numbers.program_id             := g_conc_program_id;
      l_mtl_lot_numbers.program_update_date    := SYSDATE;
      l_mtl_lot_numbers.expiration_date        := NULL;
      l_mtl_lot_numbers.disable_flag           := NULL;
      l_mtl_lot_numbers.attribute_category     := NULL;
      l_mtl_lot_numbers.attribute1             := NULL;
      l_mtl_lot_numbers.attribute2             := NULL;
      l_mtl_lot_numbers.attribute3             := NULL;
      l_mtl_lot_numbers.attribute4             := NULL;
      l_mtl_lot_numbers.attribute5             := NULL;
      l_mtl_lot_numbers.attribute6             := NULL;
      l_mtl_lot_numbers.attribute7             := NULL;
      l_mtl_lot_numbers.attribute8             := NULL;
      l_mtl_lot_numbers.attribute9             := NULL;
      l_mtl_lot_numbers.attribute10            := NULL;
      l_mtl_lot_numbers.attribute11            := NULL;
      l_mtl_lot_numbers.attribute12            := NULL;
      l_mtl_lot_numbers.attribute13            := NULL;
      l_mtl_lot_numbers.attribute14            := NULL;
      l_mtl_lot_numbers.attribute15            := NULL;
      l_mtl_lot_numbers.request_id             := NULL; 
      l_mtl_lot_numbers.gen_object_id          := NULL;
      l_mtl_lot_numbers.description            := NULL;
      l_mtl_lot_numbers.vendor_name            := NULL;
      l_mtl_lot_numbers.supplier_lot_number    := NULL;
      l_mtl_lot_numbers.country_of_origin      := NULL;
      l_mtl_lot_numbers.grade_code             := NULL;
      l_mtl_lot_numbers.origination_date       := NULL;
      l_mtl_lot_numbers.date_code              := NULL;
      l_mtl_lot_numbers.status_id              := NULL;
      l_mtl_lot_numbers.change_date            := NULL;
      l_mtl_lot_numbers.age                    := NULL;
      l_mtl_lot_numbers.retest_date            := NULL;
      l_mtl_lot_numbers.maturity_date          := NULL;
      l_mtl_lot_numbers.lot_attribute_category := NULL;
      l_mtl_lot_numbers.item_size              := NULL;
      l_mtl_lot_numbers.color                  := NULL;
      l_mtl_lot_numbers.volume                 := NULL;
      l_mtl_lot_numbers.volume_uom             := NULL;
      l_mtl_lot_numbers.place_of_origin        := NULL;
      l_mtl_lot_numbers.kill_date              := NULL;
      l_mtl_lot_numbers.best_by_date           := NULL;
      l_mtl_lot_numbers.length                 := NULL;
      l_mtl_lot_numbers.length_uom             := NULL;
      l_mtl_lot_numbers.recycled_content       := NULL;
      l_mtl_lot_numbers.thickness              := NULL;
      l_mtl_lot_numbers.thickness_uom          := NULL;
      l_mtl_lot_numbers.width                  := NULL;
      l_mtl_lot_numbers.width_uom              := NULL;
      l_mtl_lot_numbers.curl_wrinkle_fold      := NULL;
      l_mtl_lot_numbers.c_attribute1           := NULL;
      l_mtl_lot_numbers.c_attribute2           := NULL;
      l_mtl_lot_numbers.c_attribute3           := NULL;
      l_mtl_lot_numbers.c_attribute4           := NULL;
      l_mtl_lot_numbers.c_attribute5           := NULL;
      l_mtl_lot_numbers.c_attribute6           := NULL;
      l_mtl_lot_numbers.c_attribute7           := NULL;
      l_mtl_lot_numbers.c_attribute8           := NULL;
      l_mtl_lot_numbers.c_attribute9           := NULL;
      l_mtl_lot_numbers.c_attribute10          := NULL;
      l_mtl_lot_numbers.c_attribute11          := NULL;
      l_mtl_lot_numbers.c_attribute12          := NULL;
      l_mtl_lot_numbers.c_attribute13          := NULL;
      l_mtl_lot_numbers.c_attribute14          := NULL;
      l_mtl_lot_numbers.c_attribute15          := NULL;
      l_mtl_lot_numbers.c_attribute16          := NULL;
      l_mtl_lot_numbers.c_attribute17          := NULL;
      l_mtl_lot_numbers.c_attribute18          := NULL;
      l_mtl_lot_numbers.c_attribute19          := NULL;
      l_mtl_lot_numbers.c_attribute20          := NULL;
      l_mtl_lot_numbers.c_attribute21          := NULL;
      l_mtl_lot_numbers.c_attribute22          := NULL;
      l_mtl_lot_numbers.c_attribute23          := NULL;
      l_mtl_lot_numbers.c_attribute24          := NULL;
      l_mtl_lot_numbers.c_attribute25          := NULL;
      l_mtl_lot_numbers.c_attribute26          := NULL;
      l_mtl_lot_numbers.c_attribute27          := NULL;
      l_mtl_lot_numbers.c_attribute28          := NULL;
      l_mtl_lot_numbers.c_attribute29          := NULL;
      l_mtl_lot_numbers.c_attribute30          := NULL;
      l_mtl_lot_numbers.d_attribute1           := NULL;
      l_mtl_lot_numbers.d_attribute2           := NULL;
      l_mtl_lot_numbers.d_attribute3           := NULL;
      l_mtl_lot_numbers.d_attribute4           := NULL;
      l_mtl_lot_numbers.d_attribute5           := NULL;
      l_mtl_lot_numbers.d_attribute6           := NULL;
      l_mtl_lot_numbers.d_attribute7           := NULL;
      l_mtl_lot_numbers.d_attribute8           := NULL;
      l_mtl_lot_numbers.d_attribute9           := NULL;
      l_mtl_lot_numbers.d_attribute10          := NULL;
      l_mtl_lot_numbers.d_attribute11          := NULL;
      l_mtl_lot_numbers.d_attribute12          := NULL;
      l_mtl_lot_numbers.d_attribute13          := NULL;
      l_mtl_lot_numbers.d_attribute14          := NULL;
      l_mtl_lot_numbers.d_attribute15          := NULL;
      l_mtl_lot_numbers.d_attribute16          := NULL;
      l_mtl_lot_numbers.d_attribute17          := NULL;
      l_mtl_lot_numbers.d_attribute18          := NULL;
      l_mtl_lot_numbers.d_attribute19          := NULL;
      l_mtl_lot_numbers.d_attribute20          := NULL;
      l_mtl_lot_numbers.n_attribute1           := NULL;
      l_mtl_lot_numbers.n_attribute2           := NULL;
      l_mtl_lot_numbers.n_attribute3           := NULL;
      l_mtl_lot_numbers.n_attribute4           := NULL;
      l_mtl_lot_numbers.n_attribute5           := NULL;
      l_mtl_lot_numbers.n_attribute6           := NULL;
      l_mtl_lot_numbers.n_attribute7           := NULL;
      l_mtl_lot_numbers.n_attribute8           := NULL;
      l_mtl_lot_numbers.n_attribute9           := NULL;
      l_mtl_lot_numbers.n_attribute10          := NULL;
      l_mtl_lot_numbers.n_attribute11          := NULL;
      l_mtl_lot_numbers.n_attribute12          := NULL;
      l_mtl_lot_numbers.n_attribute13          := NULL;
      l_mtl_lot_numbers.n_attribute14          := NULL;
      l_mtl_lot_numbers.n_attribute15          := NULL;
      l_mtl_lot_numbers.n_attribute16          := NULL;
      l_mtl_lot_numbers.n_attribute17          := NULL;
      l_mtl_lot_numbers.n_attribute18          := NULL;
      l_mtl_lot_numbers.n_attribute19          := NULL;
      l_mtl_lot_numbers.n_attribute20          := NULL;
      l_mtl_lot_numbers.n_attribute21          := NULL;
      l_mtl_lot_numbers.n_attribute22          := NULL;
      l_mtl_lot_numbers.n_attribute23          := NULL;
      l_mtl_lot_numbers.n_attribute24          := NULL;
      l_mtl_lot_numbers.n_attribute25          := NULL;
      l_mtl_lot_numbers.n_attribute26          := NULL;
      l_mtl_lot_numbers.n_attribute27          := NULL;
      l_mtl_lot_numbers.n_attribute28          := NULL;
      l_mtl_lot_numbers.n_attribute29          := NULL;
      l_mtl_lot_numbers.n_attribute30          := NULL;
      l_mtl_lot_numbers.vendor_id              := NULL;
      l_mtl_lot_numbers.territory_code         := NULL;
      l_mtl_lot_numbers.parent_lot_number      := NULL;
      l_mtl_lot_numbers.origination_type       := NULL;
      l_mtl_lot_numbers.availability_type      := NULL;
      l_mtl_lot_numbers.expiration_action_code := NULL;
      l_mtl_lot_numbers.expiration_action_date := NULL;
      l_mtl_lot_numbers.hold_date              := NULL;
      l_mtl_lot_numbers.inventory_atp_code     := NULL;
      l_mtl_lot_numbers.reservable_type        := NULL;
      l_mtl_lot_numbers.sampling_event_id      := NULL;
    
      inv_lot_api_pub.create_inv_lot(x_return_status    => l_return_status,
                                     x_msg_count        => l_msg_count,
                                     x_msg_data         => l_msg_data,
                                     x_row_id           => l_row_id,
                                     x_lot_rec          => x_mtl_lot_numbers,
                                     p_lot_rec          => l_mtl_lot_numbers,
                                     p_source           => l_source,
                                     p_api_version      => l_api_version,
                                     p_init_msg_list    => l_init_msg_list,
                                     p_commit           => l_commit,
                                     p_validation_level => l_validation_level,
                                     p_origin_txn_id    => l_origin_txn_id);
    
      IF l_return_status = g_ret_sts_success THEN
        UPDATE cux_inv_lot_number h
           SET h.process_status     = 'COMPLETE',
               h.process_date       = SYSDATE,
               h.process_message    = NULL,
               h.row_version_number = h.row_version_number + 1,
               h.last_updated_by    = g_user_id,
               h.last_update_date   = SYSDATE,
               h.last_update_login  = g_login_id
         WHERE h.id = rec_inv_lot.id;
      ELSE
        UPDATE cux_inv_lot_number h
           SET h.process_status     = 'ERROR',
               h.process_date       = SYSDATE,
               h.process_message    = '建立批次失敗-' || l_msg_data,
               h.row_version_number = h.row_version_number + 1,
               h.last_updated_by    = g_user_id,
               h.last_update_date   = SYSDATE,
               h.last_update_login  = g_login_id
         WHERE h.id = rec_inv_lot.id;
        IF l_return_status = g_ret_sts_error THEN
        
          RAISE g_exc_error;
        ELSIF l_return_status = g_ret_sts_unexp_error THEN
        
          fnd_message.set_name('INV', 'INV_PROGRAM_ERROR');
          fnd_message.set_token('PROG_NAME',
                                'inv_lot_api_pub.Create_Inv_lot');
          fnd_msg_pub.add;
          RAISE g_exc_unexpected_error;
        END IF;
      END IF;
    END LOOP;
  
    -- API end body
    -- end activity, include debug message hint to exit api
   
  EXCEPTION
  
    WHEN no_data_found THEN
      x_return_status := g_ret_sts_error;
      ROLLBACK TO inv_lot_1;
      fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
                                p_count   => x_msg_count,
                                p_data    => x_msg_data);
      IF (x_msg_count > 1) THEN
        x_msg_data := fnd_msg_pub.get(x_msg_count, fnd_api.g_false);
      END IF;
      -- print_debug('In No data found Create_Inv_Lot ' || SQLERRM, 9);
    WHEN g_exc_error THEN
      x_return_status := g_ret_sts_error;
      ROLLBACK TO inv_lot_1;
      fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
                                p_count   => x_msg_count,
                                p_data    => x_msg_data);
      IF (x_msg_count > 1) THEN
        x_msg_data := fnd_msg_pub.get(x_msg_count, fnd_api.g_false);
      END IF;
      --print_debug('In g_exc_error Create_Inv_Lot ' || SQLERRM, 9);
    WHEN g_exc_unexpected_error THEN
      x_return_status := g_ret_sts_unexp_error;
      ROLLBACK TO inv_lot_1;
      fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
                                p_count   => x_msg_count,
                                p_data    => x_msg_data);
      IF (x_msg_count > 1) THEN
        x_msg_data := fnd_msg_pub.get(x_msg_count, fnd_api.g_false);
      END IF;
    WHEN OTHERS THEN
      x_return_status := g_ret_sts_unexp_error;
      ROLLBACK TO inv_lot_1;
      fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
                                p_count   => x_msg_count,
                                p_data    => x_msg_data);
      IF (x_msg_count > 1) THEN
        x_msg_data := fnd_msg_pub.get(x_msg_count, fnd_api.g_false);
      END IF;
    
  END create_inv_lot;


相關推薦

EBS介面開發庫存事務處理-物料批次匯入

庫存事務處理-物料批次匯入 --系統批次表 SELECT * FROM MTL_LOT_NUMBERS T; --API建立批次 inv_lot_api_pub.create_inv_lot(x_return_status => l_return_status,

EBS介面開發庫存事務處理採購接收和退貨

3.2   接收&退貨匯入api說明 此程式是呼叫標準API的客戶化程式,實現處理處理接收&退貨,處理方式有三種,聯機,立即,和批,具體資訊使用可以參考程式中的註釋 (五)接收&退貨匯入併發程式研究 4.1   匯入的併發請求 fnd_request.submit

EBS介面開發供應商匯入(補充)--供應商銀行賬戶更新

CREATE OR REPLACE PACKAGE BODY update_vendor_account IS PROCEDURE main(errbuf OUT VARCHAR2, retcode OUT VARCHAR2) IS l_vendor_id

AR-API-EBS介面開發應收款處理2

(一)應收款常用標準表簡介 1.1   常用標準表 如下表中列出了與應收款處理相關的表和說明: 表名 說明 其他資訊 AR_BATCHES_ALL AR收款批表 AR_BATCH_SOURCES_ALL AR收款型別表 對應檢視 AR

Unity3D Shader開發渲染管線

筆者介紹:姜雪偉,IT公司技術合夥人,IT高階講師,CSDN社群專家,特邀編輯,暢銷書作者,國家專利發明人;已出版書籍:《手把手教你架構3D遊戲引擎》電子工業出版社和《實戰核心技術詳解》電子工業出版社等。Shader程式設計對於圖形學渲染來說非常重要,為了讓讀者理解Shade

Oracle EBS介面開發通過DBWS包實現WEBSERVICE

簡介 Oracle在9i時代就釋出了擴充套件包來支援PL/SQL訪問Web Services,並且在Oracle 10g版本中使得該功能變得更加強大;這都源於引入了UTL_DBWS包,其實它是封裝了

JAVA常用集合框架用法基礎篇一Colletion介面

首先,在學習集合之前我們能夠使用的可以儲存多個元素的容器就是陣列。 下面舉幾個例子主要是引出集合類的: 1、8,4,5,6,7,55,7,8  像這樣的型別相同的可以使用陣列來儲存,本例可以用int[] arr來儲存。 2、”zhnagsan”,true,68 像這樣的可以使

JAVA常用集合框架用法基礎篇三Colletion子介面Set

這一篇我們來介紹Collection介面的另一個子介面,Set介面。Set是個介面,元素不可以重複,是無序的。Set介面中的方法和Collection的一致。 A、Set的子類: 1、HashSet:此類實現的Set介面,由雜湊表(實際上是一個HashMap)例項支援,它不保證Set的迭代順

JAVA常用集合框架用法基礎篇二Colletion子介面List

接著上一篇,接著講講集合的知識。上一篇講了Collection介面。它可以說是集合的祖先了,我們這一篇就說說它的子孫們。 一、Collection的子介面 List:有序(存入和取出的順序一致),元素都有索引(即角標),元素可以重複。 Set:元素不能重複,無序的。 首先講講L

功能版本管理使用eoLinker

object 可見 nts 平臺 sso fonts 一覽 多次 動態 先看一個對話: “這裏,你改一下,這裏返回一個object。” “好...好......” “還有這裏,返回個String。” ...... 在接口文檔改了7、8個version後,組長又發話了,“

編碼原理(四)---字形掃描

便是 集中 img 詳解 工作 -- 漢字 如何 編碼原理 上一篇我們講到,經過量化後得到了諸多零值和整數值,本篇接下來講講編碼過程中過對這些值如何組織和處理,那就是ZigZag掃描嘍。 一、簡介 ZigZag掃描也稱作之字形掃描,何以得此稱謂,是因為其掃描的路徑特

功能表單字段、樹形選擇數據類型的配置——JEPLUS快速開發平臺

下拉框 單選框 多選框 功能表單字段之下拉框、單選框、多選框、樹形選擇數據類型的配置詳解JEPLUS平臺的表單支持有多種不同的數據類型,這些不同的數據類型在展示不同類型的數據時能有很好的效果,今天這篇筆記就講

hashmap資料結構(五)HashMap、HashTable、ConcurrentHashMap 的區別

【hashmap 與 hashtable】   hashmap資料結構詳解(一)之基礎知識奠基 hashmap資料結構詳解(二)之走進JDK原始碼 hashmap資料結構詳解(三)之hashcode例項及大小是2的冪次方解釋 hashmap資料結構詳解(四)之has

Scala集合類陣列的語法格式以及簡單例項

簡介 Scala 語言中提供的陣列是用來儲存固定大小的同類型元素。宣告陣列是宣告一個就像numbers這樣的變數,然後使用 numbers[0]、numbers[1]、…、numbers[99] 來表示一個個單獨的變數。陣列中某個指定的元素是通過索引來訪問的。 陣列的第一個元素索引為0,最

PI介面開發調java WS介面

java提供的WSDL:http://XXX.XXX.XXX.XX/XXXXXXXcrm/ws/financialStatementsService?wsdl 登陸PI,下載Enterprise Services Builder 展開並選擇元件和名稱空間(一般專案會分多個,視情況來做) 1.建立資料夾(

docker系列<二>常用命令

  此篇我們以從docker執行一個tomcat為例,進行一下操作:   拉取映象 檢視映象 建立容器 檢視執行狀態 進入退出容器 停止容器 重啟容器 刪除容器 刪除映象  1.拉取tomcat映象:   1).檢視tomcat映象列表:    docker search tomcat&nb

王權富貴書評:《21個專案玩轉深度學習基於TensorFlow的實踐》(何源著)

這本書只有例子。例子還屬於那種不完整的。 推薦:-*                                  &nb

freescale飛思卡爾 HC9S12 系列微控制器 Flash擦寫(一)時鐘設定

       Flash擦寫的內容,個人做HC9S12系列微控制器時覺得應該是各模組內容中最難而且是最麻煩的一步了。只有能夠對Flash進行擦寫以後,所做的Bootloader才有真正手段將串列埠或者其他通訊手段接收到的資料或者程式寫入Flash中進行程式或者資料的更新。當初做Flash的擦寫也遇到了很多問題

Java集合框架--Collection介面簡單介紹(二)

一、Collection介面簡單介紹        Collection介面是處理物件集合的根介面,其中定義了很多對元素進行操作的方法。Collection介面有兩個主要的子介面List和Set,注意Map不是Collection的子介面。 Collection介面中的方

【轉】WinForm介面開發佈局控制元件"WeifenLuo.WinFormsUI.Docking"的使用

本篇介紹Winform程式開發中的佈局介面的設計,介紹如何在我的共享軟體中使用佈局控制元件"WeifenLuo.WinFormsUI.Docking"。 佈局控制元件"WeifenLuo.WinFormsUI.Docking"是一個非常棒的開源控制元件,用過的人都深有體會,