你可曾發現,在ap_invoice_distributions_all中有時rcv_transaciton_id為空,有時卻又是有值的, 這是為什麼呢?(請參考po_line_locations_all.match_option)
或許你還記得我們在發票工作台上選擇匹配時,有時是match po,有時卻是match receipt,其實這就是原因所在, 當然影響這個匹配項的根本還是po的shipment上的乙個開關:是receipt,還是purchase order,如果這裡是receipt,在匹配po時,只能選擇receipt(匹配成功儲存後rcv_transaciton_id是有值的),反之在匹配值只能選擇purchase order(匹配成功儲存後rcv_transaciton_id是沒有值的)
其實在這個ap_invoice_distributions_all還有個po_distribution_id欄位,不管rcv_transaciton_id是否為空,只要是和po建立關係的,po_distribution_id欄位總歸是有值的.
現有這樣的需求:查詢----發票號碼,接收號碼,採購訂單號碼
(我總是會使用po_distribution_id作為條件,而不要使用rcv_transaciton_id)
----------------------------------------
select ai.invoice_num,
rsh.receipt_num,
ph.segment1,
aid.distribution_line_number,
aid.rcv_transaction_id,
aid.po_distribution_id
from ap_invoices_all ai,
ap_invoice_distributions_all aid,
po_distributions_all pd,
rcv_transactions rt,
rcv_shipment_lines rsl,
rcv_shipment_headers rsh,
po_headers_all ph
where ai.invoice_id = aid.invoice_id
and aid.set_of_books_id = '&sob'
and aid.period_name = '&period_name'
and aid.po_distribution_id = pd.po_distribution_id
and pd.po_distribution_id = rt.po_distribution_id
and rt.po_distribution_id = rsl.po_distribution_id
and rsl.shipment_line_id = rt.shipment_line_id
and rsh.shipment_header_id = rsl.shipment_header_id
and rt.destination_type_code = 'receiving'
and rt.po_header_id = ph.po_header_id
order by 1,2
for more information, pls refer to metalinkid 181429.1
C語言 函式堆記憶體分配問題剖析
下面兩段 test1和test2,test1是對陣列進行了初始化,而test2沒有定義長度 include include void test1 void test2 void main void test1 printf n while s i 0 printf s2 s,length d n s...
《STL原始碼剖析》之分配器
對於分配器的要求,應滿足c 標準中的幾個函式 1.分配器應是乙個模板類,設型別為t 2.模板類物件應有public t allocate int n 功能,分配一段長為至少為n typesize的記憶體 原始,未構造 儲存n個型別為t的物件,返回指向分配記憶體頭部的t型別指標 3.應該有deallo...
STL原始碼剖析 分配器Allocators
new 指我們在c 裡通常用到的運算子 operator new 指對new的過載形式,它是乙個函式,並不是運算子 函式operator new中呼叫malloc 進行記憶體分配。malloc實際記憶體分配得到的記憶體空間如下 new 運算子執行過程 呼叫operator new分配記憶體 可過載 ...