日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xxmm_Move_Order_Print

發布時間:2024/8/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xxmm_Move_Order_Print 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CREATE OR REPLACE Package Xxmm_Move_Order_Print As

?? ?/*每頁中允許的最大記錄數*/
?? ?Page_Max_Rowcount Constant Number := 7;

?? ?Cursor c_Lines_List(p_Id Number) Is
?? ??? ?Select b.Segment1 Item_Name,
?? ??? ??? ??? ??? ? b.Description,
?? ??? ??? ??? ??? ? b.Primary_Unit_Of_Measure Uom,
?? ??? ??? ??? ??? ? decode(l.back, 'N', '前段', 'Y', '后段', 'S', '共享', '') back,
?? ??? ??? ??? ??? ? l.Subinventory,
?? ??? ??? ??? ??? ? l.Required_Qty,
?? ??? ??? ??? ??? ? l.Issued_Qty,
?? ??? ??? ??? ??? ? l.Tool_Id,
?? ??? ??? ??? ??? ? l.Remark
?? ??? ??? ?From Xxmm_Inv_Transaction_Lines l, Mtl_System_Items_b b
?? ??? ? Where l.Organization_Id = b.Organization_Id
?? ??? ??? ? And l.Item_Id = b.Inventory_Item_Id
?? ??? ??? ? And l.Inv_Header_Id = p_Id;

?? ?v_Organization_Id?????? Number;
?? ?v_Inv_Header_Id???????? Number;
?? ?v_Req_Num?????????????? Varchar2(32);
?? ?v_Cancelled_Flag??????? Varchar2(1);
?? ?v_Transaction_Type????? Varchar2(32);
?? ?v_Transaction_Type_Name Varchar2(128);
?? ?v_Req_Date????????????? Varchar2(32);
?? ?v_Requestor_Name??????? Varchar2(128);
?? ?v_Req_Section?????????? Varchar2(512);
?? ?v_Cost_Center?????????? Varchar2(32);
?? ?v_Vendor_Name?????????? Varchar2(512);
?? ?v_Move_Order_Type?????? Varchar2(1);
?? ?v_Rownum??????????????? Number := 0;
?? ?v_Rowcount????????????? Number := 0;
?? ?v_Req_Sum?????????????? Number := 0;

?? ?v_Err_Msg Varchar2(1024);
?? ?v_Self_Exception Exception;

?? ?Procedure Print(Inv_Header_Id In Varchar2);

?? ?Procedure Html_Table_Head;

?? ?Procedure Html_Table_Lines_Head;

?? ?Procedure Html_Lines_Req_Sum;

?? ?Procedure Html_Lines_Foot(p_Page Varchar2);

?? ?Procedure Html_Style;

?? ?Procedure Html_Table_Open(p_Page Varchar2);

?? ?Procedure Html_Table_Close;

?? ?Procedure Html_Page_Break;

?? ?Procedure Insert_Break_Line(p_Page Varchar2);

?? ?Function Get_Record_Count(p_Id Number) Return Number;

End Xxmm_Move_Order_Print;



CREATE OR REPLACE Package Body Xxmm_Move_Order_Print As

?? ?Procedure Print(Inv_Header_Id In Varchar2) Is
?? ?Begin
?? ??? ?Begin
?? ??? ??? ?Select To_Number(Inv_Header_Id) Into v_Inv_Header_Id From Dual;
?? ??? ?Exception
?? ??? ??? ?When Others Then
?? ??? ??? ??? ?If Sqlcode = '-1722' Then
?? ??? ??? ??? ??? ?v_Err_Msg := '傳入的參數不是數字型字符串!';
?? ??? ??? ??? ?
??? ??? ??? ??? ??? Raise v_Self_Exception;
??? ??? ??? ??? Else
??? ??? ??? ??? ??? v_Err_Msg := '在傳入的參數是否為數字型字符串時出現異常(' || Sqlerrm || ' )!';
??? ??? ??? ???
??? ??? ??? ??? ??? Raise v_Self_Exception;
??? ??? ??? ??? End If;
??? ??? End;
???
??? ??? Begin
??? ??? ??? Select h.Organization_Id,
??? ??? ??? ??? ??? ??? ?h.Req_Num,
??? ??? ??? ??? ??? ??? ?h.Transaction_Type,
??? ??? ??? ??? ??? ??? ?To_Char(h.Creation_Date, 'YYYY/MM/DD') Req_Date,
??? ??? ??? ??? ??? ??? ?h.Byd_Requestor_Name Requestor_Name,
??? ??? ??? ??? ??? ??? ?h.Req_Section Requestor_Section,
??? ??? ??? ??? ??? ??? ?h.Cost_Center,
??? ??? ??? ??? ??? ??? ?x.Vendor_Name,
??? ??? ??? ??? ??? ??? ?h.Cancelled_Flag
??? ??? ??? ??? Into v_Organization_Id,
??? ??? ??? ??? ??? ??? ?v_Req_Num,
??? ??? ??? ??? ??? ??? ?v_Transaction_Type,
??? ??? ??? ??? ??? ??? ?v_Req_Date,
??? ??? ??? ??? ??? ??? ?v_Requestor_Name,
??? ??? ??? ??? ??? ??? ?v_Req_Section,
??? ??? ??? ??? ??? ??? ?v_Cost_Center,
??? ??? ??? ??? ??? ??? ?v_Vendor_Name,
??? ??? ??? ??? ??? ??? ?v_Cancelled_Flag
??? ??? ??? ??? From Xxmm_Inv_Transaction_Headers h,
??? ??? ??? ??? ??? ??? ?(Select Pvs.Org_Id,
??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Pv.Vendor_Id,
??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Pv.Vendor_Name,
??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Pvs.Vendor_Site_Id
??? ??? ??? ??? ??? ??? ??? ??? From Po_Vendor_Sites_All Pvs, Po_Vendors Pv
??? ??? ??? ??? ??? ??? ??? ?Where Pvs.Vendor_Id = Pv.Vendor_Id) x
??? ??? ??? ?Where h.Org_Id = x.Org_Id(+)
??? ??? ??? ??? ?And h.Vendor_Id = x.Vendor_Id(+)
??? ??? ??? ??? ?And h.Vendor_Site_Id = x.Vendor_Site_Id(+)
??? ??? ??? ??? ?And h.Inv_Header_Id = v_Inv_Header_Id;
??? ??? Exception
??? ??? ??? When No_Data_Found Then
??? ??? ??? ??? v_Err_Msg := '沒有找到對應的數據,請確認輸入的參數的值是否正確!';
??? ??? ???
??? ??? ??? ??? Raise v_Self_Exception;
??? ??? ??? When Others Then
??? ??? ??? ??? v_Err_Msg := '在查找對應的Header數據時出現異常(' || Sqlerrm || ' )!';
??? ??? ???
??? ??? ??? ??? Raise v_Self_Exception;
??? ??? End;
???
??? ??? /*Transaction_Action_Id =1,表示Issue from stores,即領料,=27,表示Receipt into stores,即繳庫*/
??? ??? Begin
??? ??? ??? Select Decode(Mtt.Transaction_Action_Id, 1, 'I', 27, 'R', Null) Move_Order_Type,
??? ??? ??? ??? ??? ??? ?Mtt.Transaction_Type_Name
??? ??? ??? ??? Into v_Move_Order_Type, v_Transaction_Type_Name
??? ??? ??? ??? From Mtl_Transaction_Types Mtt
??? ??? ??? ?Where Mtt.Attribute1 = v_Transaction_Type
??? ??? ??? ??? ?And Trunc(Nvl(Mtt.Disable_Date, Sysdate + 1)) > Trunc(Sysdate);
??? ??? Exception
??? ??? ??? When Too_Many_Rows Then
??? ??? ??? ??? v_Err_Msg := '該Transaction Type同時存在多筆生效記錄。';
??? ??? ???
??? ??? ??? ??? Raise v_Self_Exception;
??? ??? ??? When Others Then
??? ??? ??? ??? v_Err_Msg := '在查詢User Define Transaction Type時出現異常(' || Sqlerrm || ')';
??? ??? ???
??? ??? ??? ??? Raise v_Self_Exception;
??? ??? End;
???
??? ??? If v_Cancelled_Flag = 'Y' Then
??? ??? ??? v_Err_Msg := '該筆交易已經取消,則不能打印。';
??? ???
??? ??? ??? Raise v_Self_Exception;
??? ??? End If;
???
??? ??? /*取得記錄數*/
??? ??? v_Rowcount := Get_Record_Count(v_Inv_Header_Id);
???
??? ??? Htp.Htmlopen;
??? ??? Htp.Headopen;
??? ??? Htp.p('');
??? ??? Htp.Title(v_Transaction_Type_Name || '單 -- ' || v_Req_Num);
??? ??? Html_Style;
??? ??? Htp.Headclose;
??? ??? Htp.Bodyopen;
???
??? ??? If v_Rowcount <= Page_Max_Rowcount Then
??? ??? ??? Html_Table_Open('1');
??? ??? ??? Html_Table_Head; /*輸出Html Header*/
??? ??? ??? Html_Table_Lines_Head; /*輸出Lines Header*/
??? ??? ??? /*循環輸出Lines*/
??? ??? ??? For Rec In c_Lines_List(v_Inv_Header_Id) Loop
??? ??? ??? ??? Htp.p('');
??? ??? ??? ??? Htp.p('' || Rec.Item_Name || '');
??? ??? ??? ??? Htp.p('' || Rec.Description || '');
??? ??? ??? ??? Htp.p('' || Rec.Uom || '');
??? ??? ??? ??? Htp.p('' || Rec.back || '');
??? ??? ??? ??? Htp.p('' || Rec.Subinventory || '');
??? ??? ??? ??? Htp.p('' || Rec.Required_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Issued_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Tool_Id || '');
??? ??? ??? ??? Htp.p('' || Rec.Remark || '');
??? ??? ??? ??? Htp.p('');
??? ??? ???
??? ??? ??? ??? v_Req_Sum := v_Req_Sum + Rec.Required_Qty;
??? ??? ??? End Loop;
??? ??? ??? --Html_Lines_Req_Sum;
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('1');
??? ??? ??? Insert_Break_Line('1');
??? ??? ??? Html_Lines_Req_Sum;
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('1');
??? ??? ??? Html_Lines_Foot('1');
??? ??? ??? Html_Table_Close;
??? ???
??? ??? ??? Html_Table_Open('2');
??? ??? ??? Html_Table_Head; /*輸出Html Header*/
??? ??? ??? Html_Table_Lines_Head; /*輸出Lines Header*/
??? ??? ??? /*循環輸出Lines*/
??? ??? ??? For Rec In c_Lines_List(v_Inv_Header_Id) Loop
??? ??? ??? ??? Htp.p('');
??? ??? ??? ??? Htp.p('' || Rec.Item_Name || '');
??? ??? ??? ??? Htp.p('' || Rec.Description || '');
??? ??? ??? ??? Htp.p('' || Rec.Uom || '');
??? ??? ??? ??? Htp.p('' || Rec.back || '');
??? ??? ??? ??? Htp.p('' || Rec.Subinventory || '');
??? ??? ??? ??? Htp.p('' || Rec.Required_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Issued_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Tool_Id || '');
??? ??? ??? ??? Htp.p('' || Rec.Remark || '');
??? ??? ??? ??? Htp.p('');
??? ??? ??? End Loop;
??? ??? ??? --Html_Lines_Req_Sum;
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('2');
??? ??? ??? Insert_Break_Line('2');
??? ??? ??? Html_Lines_Req_Sum;
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('2');
??? ??? ??? Html_Lines_Foot('2');
??? ??? ??? Html_Table_Close;
??? ??? Else
??? ??? ??? /*當Lines中的行數超過規定的最大行數,則一式兩份*/
??? ??? ??? Html_Table_Open('1');
??? ??? ??? Html_Table_Head; /*輸出Html Header*/
??? ??? ??? For Rec In c_Lines_List(v_Inv_Header_Id) Loop
??? ??? ??? ??? If Mod(v_Rownum, Page_Max_Rowcount * 2) = 0 Then
??? ??? ??? ??? ??? Html_Table_Lines_Head; /*輸出Lines Header*/
??? ??? ??? ??? End If;
??? ??? ???
??? ??? ??? ??? Htp.p('');
??? ??? ??? ??? Htp.p('' || Rec.Item_Name || '');
??? ??? ??? ??? Htp.p('' || Rec.Description || '');
??? ??? ??? ??? Htp.p('' || Rec.Uom || '');
??? ??? ??? ??? Htp.p('' || Rec.back || '');
??? ??? ??? ??? Htp.p('' || Rec.Subinventory || '');
??? ??? ??? ??? Htp.p('' || Rec.Required_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Issued_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Tool_Id || '');
??? ??? ??? ??? Htp.p('' || Rec.Remark || '');
??? ??? ??? ??? Htp.p('');
??? ??? ???
??? ??? ??? ??? v_Rownum? := v_Rownum + 1;
??? ??? ??? ??? v_Req_Sum := v_Req_Sum + Rec.Required_Qty;
??? ??? ??? End Loop;
??? ??? ??? v_Rownum := 0;
??? ??? ??? Html_Lines_Req_Sum;
??? ??? ??? Html_Lines_Foot('1');
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('1');
??? ??? ??? Html_Table_Close;
??? ???
??? ??? ??? Html_Page_Break;
??? ???
??? ??? ??? Html_Table_Open('2');
??? ??? ??? Html_Table_Head; /*輸出Html Header*/
??? ??? ??? For Rec In c_Lines_List(v_Inv_Header_Id) Loop
??? ??? ??? ??? If Mod(v_Rownum, Page_Max_Rowcount * 2) = 0 Then
??? ??? ??? ??? ??? Html_Table_Lines_Head; /*輸出Lines Header*/
??? ??? ??? ??? End If;
??? ??? ???
??? ??? ??? ??? Htp.p('');
??? ??? ??? ??? Htp.p('' || Rec.Item_Name || '');
??? ??? ??? ??? Htp.p('' || Rec.Description || '');
??? ??? ??? ??? Htp.p('' || Rec.Uom || '');
??? ??? ??? ??? Htp.p('' || Rec.back || '');
??? ??? ??? ??? Htp.p('' || Rec.Subinventory || '');
??? ??? ??? ??? Htp.p('' || Rec.Required_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Issued_Qty || '');
??? ??? ??? ??? Htp.p('' || Rec.Tool_Id || '');
??? ??? ??? ??? Htp.p('' || Rec.Remark || '');
??? ??? ??? ??? Htp.p('');
??? ??? ???
??? ??? ??? ??? v_Rownum := v_Rownum + 1;
??? ??? ??? End Loop;
??? ??? ??? v_Rownum := 0;
??? ??? ??? Html_Lines_Req_Sum;
??? ??? ??? Html_Table_Close;
??? ??? ??? Html_Table_Open('2');
??? ??? ??? Html_Lines_Foot('2');
??? ??? ??? Html_Table_Close;
??? ??? End If;
???
??? ??? Htp.Bodyclose;
??? ??? Htp.Htmlclose;
??? Exception
??? ??? When v_Self_Exception Then
??? ??? ??? Htp.p(v_Err_Msg);
??? ??? When Others Then
??? ??? ??? Htp.p(Sqlerrm);
??? End;

??? Procedure Html_Table_Head Is
??? Begin
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('' ||
??? ??? ??? ??? ??? v_Transaction_Type_Name || '單');
??? ??? Htp.p('');
???
??? ??? Htp.p('');
??? ??? Htp.p('申請日期:' || v_Req_Date || '');
??? ??? Htp.p('領料單號:' || v_Req_Num || '');
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('申??請??人:' ||
??? ??? ??? ??? ??? v_Requestor_Name || '');
??? ??? Htp.p('生產廠商:' || v_Vendor_Name || '');
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('領料科室:' || v_Req_Section || '');
??? ??? Htp.p('發料部門:' || '2200' || '');
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('成本中心:' || v_Cost_Center || '');
??? ??? Htp.p('');
??? ??? Htp.p('');
??? End;

??? Procedure Html_Table_Lines_Head Is
??? Begin
??? ??? Htp.p('');
??? ??? Htp.p('料號');
??? ??? Htp.p('物料描述');
??? ??? Htp.p('單位');
??? ??? Htp.p('前后段');
??? ??? Htp.p('倉庫');
??? ??? Htp.p('申請數量');
??? ??? Htp.p('發料數量');
??? ??? Htp.p('Tool ID');
??? ??? Htp.p('備注');
??? ??? Htp.p('');
??? End;

??? Procedure Html_Lines_Req_Sum Is
??? Begin
??? ??? Htp.p('');
??? ??? Htp.p('合計:');
??? ??? Htp.p('' || To_Char(v_Req_Sum) || '');
??? ??? Htp.p('');
??? End;

??? Procedure Html_Lines_Foot(p_Page Varchar2) Is
??? Begin
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('申請人:___________');
??? ??? Htp.p('領料部門主管:___________');
??? ??? Htp.p('物控人員:___________');
??? ??? Htp.p('發料人:___________');
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? Htp.p('');
???
??? ??? If p_Page = '1' Then
??? ??? ??? Htp.p('第一聯');
??? ??? Elsif p_Page = '2' Then
??? ??? ??? Htp.p('第二聯');
??? ??? End If;
??? ??? Htp.p('');
??? ??? Htp.p('');
??? ??? IF v_Move_Order_Type = 'I' Then
??? ??? ??? Htp.p('FM-WIK11-M-0010NB-02B');
??? ??? Else
??? ??? ??? Htp.p('FM-WIK11-M-0010NB-10A');
??? ??? End IF;
??? ??? Htp.p('');
??? End;

??? Procedure Html_Style. Is
??? Begin
??? ??? Htp.p('
#ejiaA1 {
??? width: 750px;
??? border="0";
??? border-color:#E3E3E3;? /*#9FD6FF;*/
??? background-color:#fff;
??? border-width: 1px;
??? border-style. solid;
??? border-collapse: collapse;
??? font-family:Arial, Helvetica, sans-serif;
}
#ejiaA1 th {
??? PADDING-TOP: 5px;
??? border="0";
??? PADDING-BOTTOM: 5px;
??? border-right: #E3E3E3 1px solid;
??? border-bottom: #E3E3E3 1px solid;
??? font-size:13px;
??? height:20px;
??? line-height:16px;
}
#ejiaA1 td {
??? PADDING-TOP: 5px;
??? border="0";
??? PADDING-BOTTOM: 5px;
??? border-right: #E3E3E3 1px solid;
??? border-bottom: #E3E3E3 1px solid;
??? font-size: 12px;
??? color: #000000;
??? height: 20px;
??? line-height: 11px;
??? text-align: left? /*表格中的字居中*/
}
');
???
??? ??? Htp.p('
#ejiaA2 {
??? width: 750px;
??? border-color:#E3E3E3;? /*#9FD6FF;*/
??? background-color:#fff;
??? border-width: 1px;
??? border-style. solid;
??? border-collapse: collapse;
??? font-family:Arial, Helvetica, sans-serif;
}
#ejiaA2 th {
??? PADDING-TOP: 5px;
??? PADDING-BOTTOM: 5px;
??? border-right: #E3E3E3 1px solid;
??? border-bottom: #E3E3E3 1px solid;
??? font-size:13px;
??? height:20px;
??? line-height:16px;
}
#ejiaA2 td {
??? PADDING-TOP: 5px;
??? PADDING-BOTTOM: 5px;
??? border-right: #E3E3E3 1px solid;
??? border-bottom: #E3E3E3 1px solid;
??? font-size: 12px;
??? color: #000000;
??? height: 20px;
??? line-height: 11px;
??? text-align: left? /*表格中的字居中*/
}
');
???
??? End;

??? Procedure Html_Table_Open(p_Page Varchar2) Is
??? Begin
??? ??? Htp.p('');
??? End;

??? Procedure Html_Page_Break Is
??? Begin
??? ??? Htp.p('

');
??? End;

??? Procedure Insert_Break_Line(p_Page Varchar2) Is
??? Begin
??? ??? Htp.p('');
??? End;

??? Function Get_Record_Count(p_Id Number) Return Number Is
??? ??? v_Count Number := 0;
??? Begin
??? ??? Select Count(1)
??? ??? ??? Into v_Count
??? ??? ??? From Xxmm_Inv_Transaction_Lines l
??? ??? ?Where l.Inv_Header_Id = p_Id;
???
??? ??? Return v_Count;
??? End;
End;
?

來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/11759632/viewspace-722299/,如需轉載,請注明出處,否則將追究法律責任。

轉載于:http://blog.itpub.net/11759632/viewspace-722299/

總結

以上是生活随笔為你收集整理的Xxmm_Move_Order_Print的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。