DBA Data[Home] [Help]

PACKAGE: APPS.JA_CN_UTILITY

Source


1 PACKAGE Ja_Cn_Utility AUTHID CURRENT_USER AS
2   --$Header: JACNCUYS.pls 120.5.12020000.4 2012/12/25 03:25:23 chongwan ship $
3   --+=======================================================================+
4   --|               Copyright (c) 2006 Oracle Corporation
5   --|                       Redwood Shores, CA, USA
6   --|                         All rights reserved.
7   --+=======================================================================
8   --| FILENAME
9   --|     JACNCUYS.pls
10   --|
11   --| DESCRIPTION
12   --|
13   --|      This package is to provide share procedures for CNAO programs
14   --|
15   --| PROCEDURE LIST
16   --|
17   --|   FUNCTION Check_Profile
18   --|   FUNCTION Get_Chart_Of_Account_ID
19   --|   FUNCTION Get_Lookup_Meaning
20   --|   FUNCTION Check_Nat_Number
21   --|   PROCEDURE Change_Output_Filename
22   --|   PROCEDURE Submit_Charset_Conversion
23   --|   FUNCTION  Get_Lookup_Code
24   --|
25   --| HISTORY
26   --|   02-Mar-2006     Donghai Wang Created
27   --|   09-Mar-2006     Joseph Wang added the function Get_Chart_Of_Account_ID
28   --|   21-Mar-2006     Joseph Wang replace the function Get_Chart_Of_Account_ID by
29   --|                   procedure Get_SOB_And_COA to make it return both Set Of Book
30   --|                   and Chart Of Account ID
31   --|   31-Mar-2006     Joseph Wang added functions Get_SOB and Get_COA
32   --|   11-Apr-2006     Jackey Li   added functions Get_Lookup_Meaning and Check_Nat_Number
33   --|   27-Apr-2006     Andrew Liu  added Procedure Output_Conc
34   --|   18-May-2006     Andrew Liu  added function Check_Account_Level
35   --|   20-Jun-2006     Shujuan Yan added the new procedure Change_Output_Filename,
36   --|                   Get_Lookup_Code and Submit_Charset_Conversion
37   --|   04-July-2006    Joseph Wang added the function Check_Accounting_Period_Range
38   --|   1-Sep-2008      Chaoqun Wu added the function Get_Balancing_Segment_Value
39   --|   The following added for China Accounting Software Data Interface Standard V2
40   --|   20-JAN-2010:    Jason Liu  Added the procdure Add_Sub_Root_Node and Add_Child_Node
41   --|                              Added the function Get_XML_Tag
42   --|                              Added the procuder Add_Fixed_Child_Node
43   --|                              Added the procuder Replace_Special_Characters
44   --|   1-Mar-2010      Micron Huang  Added the function Process_Subsidiary_Item
45   --|   15-Mar-2010     Chongwu Li    Added the function Check_System_Option
46   --|   18-Mar-2010     Qingyi Wang   Added the function Generate_File_name
47   --|   11-May-2010     Qingyi Wang   Added the function Get_Rounding_Value
48   --+======================================================================*/
49 GV_TYPE_VARCHAR2  CONSTANT VARCHAR2(10) := 'VARCHAR2';
50 GV_TYPE_NUMBER    CONSTANT VARCHAR2(10) := 'NUMBER';
51 GV_REQUIRED_YES   CONSTANT VARCHAR2(1)  := 'Y';
52 GV_REQUIRED_NO    CONSTANT VARCHAR2(1)  := 'N';
53 GV_TAG_TYPE_START CONSTANT VARCHAR2(1)  := 'S';
54 GV_TAG_TYPE_END   CONSTANT VARCHAR2(1)  := 'E';
55 GV_TAG_TYPE_BLANK CONSTANT VARCHAR2(1)  := 'B';
56 GV_MODULE_GLSI    CONSTANT VARCHAR2(10) := 'GLSI';
57 GV_MODULE_FA      CONSTANT VARCHAR2(10) := 'FA';
58 GV_MODULE_APAR    CONSTANT VARCHAR2(10) := 'APAR';
59 
60   --==========================================================================
61   --  FUNCTION NAME:
62   --
63   --    Check_Profile                    Public
64   --
65   --  DESCRIPTION:
66   --
67   --    This function is used to check if all required profiles has been properly set
68   --    for current responsibility. If No, the function will return FALSE to caller and .
69   --    raise error message. Those required profiles include ' JG: Product', which should
70   --    be set to 'Asia/Pacific Localizations','JG: Territory', which should be set
71   --     to 'China' and 'JA: CNAO Legal Entity', which should be NOT NULL
72   --
73   --
74   --  PARAMETERS:
75   --      In:
76   --
77   --
78   --  DESIGN REFERENCES:
79   --
80   --
81   --  CHANGE HISTORY:
82   --
83   --      02-Mar-2006     Donghai Wang Created
84   --
85   --===========================================================================
86 
87   FUNCTION Check_Profile RETURN BOOLEAN;
88   --==========================================================================
89   --  PROCEDURE NAME:
90   --
91   --    Get_SOB_And_COA                    Public
92   --
93   --  DESCRIPTION:
94   --
95   --    This procedure is used to get chart of account id and set of book id
96   --    by legal entity, if no data found or exception occurs, x_flag will be
97   --    returned with -1
98   --
99   --
100   --
101   --  PARAMETERS:
102   --      In:        p_legal_entity_id      Legal entity ID
103   --      Out:       x_sob_id               Set of book ID
104   --      Out:       x_coa_id               Chart of account ID
105   --      Out:       x_flag                 Return flag
106   --
107   --  RETURN:
108   --      Flag, -1 for abnormal cases.
109   --
110   --  DESIGN REFERENCES:
111   --
112   --
113   --  CHANGE HISTORY:
114   --
115   --      09-Mar-2006     Joseph Wang Created
116   --
117   --===========================================================================
118   PROCEDURE Get_Sob_And_Coa(p_Legal_Entity_Id NUMBER,
119                             x_Sob_Id          OUT NOCOPY NUMBER,
120                             x_Coa_Id          OUT NOCOPY NUMBER,
121                             x_Flag            OUT NOCOPY NUMBER);
122 
123   --==========================================================================
124   --  FUNCTION NAME:
125   --
126   --    Get_SOB                    Public
127   --
128   --  DESCRIPTION:
129   --
130   --    This function is used to get set of book id within SQL statements
131   --    by legal entity. Actually it invokes the procedure Get_SOB_And_COA
132   --    to get return value. If no data found or exception occurs, -9 will be
133   --    returned.
134   --
135   --
136   --  PARAMETERS:
137   --      In:        p_legal_entity_id      Legal entity ID
138   --
139   --  RETURN:
140   --      Set of book ID, -9 for abnormal cases.
141   --
142   --  DESIGN REFERENCES:
143   --
144   --
145   --  CHANGE HISTORY:
146   --
147   --      31-Mar-2006     Joseph Wang Created
148   --
149   --===========================================================================
150   FUNCTION Get_Sob(p_Legal_Entity_Id NUMBER) RETURN NUMBER;
151   --==========================================================================
152   --  FUNCTION NAME:
153   --
154   --    Get_COA                    Public
155   --
156   --  DESCRIPTION:
157   --
158   --    This function is used to get chart of account id within SQL statements
159   --    by legal entity. Actually it invokes the procedure Get_SOB_And_COA
160   --    to get return value. If no data found or exception occurs, -9 will be
161   --    returned.
162   --
163   --
164   --  PARAMETERS:
165   --      In:        p_legal_entity_id      Legal entity ID
166   --
167   --  RETURN:
168   --      Chart of account ID, -9 for abnormal cases.
169   --
170   --  DESIGN REFERENCES:
171   --
172   --
173   --  CHANGE HISTORY:
174   --
175   --      31-Mar-2006     Joseph Wang Created
176   --
177   --  CHANGED:
178   --Get_Coa function has been updated by lyb in 20-Mar-2007, because the logic is update in R12.
179   --We should get the coa id by access id.
180   --===========================================================================
181   -- FUNCTION Get_Coa(p_Legal_Entity_Id NUMBER) RETURN NUMBER;
182   FUNCTION Get_Coa(p_Access_Set_Id NUMBER) RETURN NUMBER;
183   --==========================================================================
184   --  FUNCTION NAME:
185   --
186   --    Get_Lookup_Meaning                    Public
187   --
188   --  DESCRIPTION:
189   --
190   --    This function is used to get lookup meaning under one lookup code
191   --        according to lookup type.
192   --
193   --
194   --  PARAMETERS:
195   --      In:        p_lookup_code     lookup code
196   --
197   --  RETURN:
198   --      Lookup_meaning Varchar2
199   --
200   --  DESIGN REFERENCES:
201   --
202   --
203   --  CHANGE HISTORY:
204   --
205   --      24-Mar-2006     Jackey Li   Created
206   --
207   --===========================================================================
208   FUNCTION Get_Lookup_Meaning(p_Lookup_Code IN VARCHAR2) RETURN VARCHAR2;
209 
210   --==========================================================================
211   --  FUNCTION NAME:
212   --
213   --    Check_Nat_Number                    Public
214   --
215   --  DESCRIPTION:
216   --
217   --    This function is used to check if the given string is a natual number.
218   --
219   --
220   --  PARAMETERS:
221   --      In:        p_subject     the string need to check
222   --
223   --  RETURN:
224   --      BOOLEAN
225   --
226   --  DESIGN REFERENCES:
227   --
228   --
229   --  CHANGE HISTORY:
230   --      11-Apr-2006     Jackey Li   Created
231   --
232   --===========================================================================
233   FUNCTION Check_Nat_Number(p_Subject IN VARCHAR2) RETURN BOOLEAN;
234 
235   --==========================================================================
236   --  PROCEDURE NAME:
237   --
238   --    Output_Conc                        Public
239   --
240   --  DESCRIPTION:
241   --
242   --      This procedure write data to concurrent output file
243   --      the data can be longer than 4000
244   --
245   --  PARAMETERS:
246   --      In:  p_clob         the content which need output to concurrent output
247   --
248   --
249   --  DESIGN REFERENCES:
250   --
251   --
252   --  CHANGE HISTORY:
253   --
254   --           30-APR-2005: qugen.hu   Created.
255   --           27-APR-2005: Andrew.liu imported.
256   --
257   --===========================================================================
258 PROCEDURE Output_Conc(p_Clob IN CLOB);
259   --PROCEDURE Output_Conc(p_Clob IN varchar2);
260   --==========================================================================
261   --  FUNCTION NAME:
262   --
263   --    Check_Account_Level                Public
264   --
265   --  DESCRIPTION:
266   --
267   --      This procedure check the account level of an account. If the account
268   --      level is not null, and is a natural number and less than 16 than return
269   --      TRUE, else FALSE.
270   --
271   --  PARAMETERS:
272   --      In:  P_LEVEL        the account level
273   --
274   --
275   --  DESIGN REFERENCES:
276   --
277   --
278   --  CHANGE HISTORY:
279   --
280   --           18-MAY-2005: Andrew.liu Created.
281   --
282   --===========================================================================
283   FUNCTION Check_Account_Level(p_Level IN VARCHAR2) RETURN BOOLEAN;
284   --==========================================================================
285   --  FUNCTION NAME:
286   --      Get_Lookup_Code                   Public
287   --
288   --  DESCRIPTION:
289   --      This function is used to get lookup code of lookup meaning,
290   --  PARAMETERS:
291   --      In: p_lookup_meaning      lookup meaning
292   --          p_lookup_type         lookup code
293   --          p_view_application_id view application, DEFAULT 0
294   --          p_security_group_id   security group
295   --
296   --
297   --  DESIGN REFERENCES:
298   --      None
299   --
300   --  CHANGE HISTORY:
301   --       06/03/2006     Shujuan Yan          Created
302   --==========================================================================
303   FUNCTION Get_Lookup_Code(p_Lookup_Meaning      IN VARCHAR2,
304                            p_Lookup_Type         IN VARCHAR2,
305                            p_View_Application_Id IN NUMBER DEFAULT 0,
306                            p_Security_Group_Id   IN NUMBER DEFAULT 0)
307     RETURN VARCHAR2;
308   --==========================================================================
309   --  PROCEDURE NAME:
310   --      Submit_xml_publiser                   Public
311   --
312   --  DESCRIPTION:
313   --      This function is used to submit charset conversion concurrent.
314   --  PARAMETERS:
315   --      In:   p_xml_request_id       xml publisher concurrent request id
316   --            p_source_charset       source charset
317   --            p_destination_charset  destination charset
318   --            p_source_separator     source separator
319   --      Out:  x_charset_request_id   charset conversion request id
320   --            x_result_flag          result flag
321   --
322   --
323   --  DESIGN REFERENCES:
324   --      None
325   --
326   --  CHANGE HISTORY:
327   --       06/03/2006     Shujuan Yan          Created
328   --==========================================================================
329   PROCEDURE Submit_Charset_Conversion(p_Xml_Request_Id      IN NUMBER,
330                                       p_Source_Charset      IN VARCHAR2,
331                                       p_Destination_Charset IN VARCHAR2,
332                                       p_Source_Separator    IN VARCHAR2,
333                                       x_Charset_Request_Id  OUT NOCOPY NUMBER,
334                                       x_Result_Flag         OUT NOCOPY VARCHAR2);
335 
336   --==========================================================================
337   --  PROCEDURE NAME:
338   --      Submit_XML_Charset_Conversion                   Public
339   --
340   --  DESCRIPTION:
341   --      This function is used to submit charset conversion concurrent
342   --      for XML files.
343   --  PARAMETERS:
344   --      In:   p_xml_request_id       xml publisher concurrent request id
345   --            p_source_charset       source charset
346   --            p_destination_charset  destination charset
347   --            p_source_separator     source separator
348   --      Out:  x_charset_request_id   charset conversion request id
349   --            x_result_flag          result flag
350   --
351   --
352   --  DESIGN REFERENCES:
353   --      None
354   --
355   --  CHANGE HISTORY:
356   --       22/03/2010     Jason Liu          Created
357   --==========================================================================
358   PROCEDURE Submit_XML_Charset_Conversion(p_Xml_Request_Id      IN NUMBER,
359                                           p_Source_Charset      IN VARCHAR2,
363                                           x_Result_Flag         OUT NOCOPY VARCHAR2);
360                                           p_Destination_Charset IN VARCHAR2,
361                                           p_Source_Separator    IN VARCHAR2,
362                                           x_Charset_Request_Id  OUT NOCOPY NUMBER,
364   --==========================================================================
365   --  PROCEDURE NAME:
366   --      Submit_xml_publiser                   Public
367   --
368   --  DESCRIPTION:
369   --      This function is used to submit the concurrent program of change output file name
370   --  PARAMETERS:
371   --      In:   p_xml_request_id       xml publisher concurrent request id
372   --            p_destination_charset  destination charset
373   --            p_destination_filename destination filename
374   --      Out:  x_charset_request_id   charset conversion request id
375   --            x_result_flag          result flag
376   --
377   --
378   --  DESIGN REFERENCES:
379   --      None
380   --
381   --  CHANGE HISTORY:
382   --       06/03/2006     Shujuan Yan          Created
383   --==========================================================================
384   PROCEDURE Change_Output_Filename(p_Xml_Request_Id       IN NUMBER,
385                                    p_Destination_Charset  IN VARCHAR2,
386                                    p_Destination_Filename IN VARCHAR2,
387                                    x_Filename_Request_Id  OUT NOCOPY NUMBER,
388                                    x_Result_Flag          OUT NOCOPY VARCHAR2);
389 
390   --==========================================================================
391   --  FUNCTION NAME:
392   --
393   --    Check_Cash_Related_Account           Public
394   --
395   --  DESCRIPTION:
396   --
397   --     This function is used to check if the gl code combination passed in is --     Cash Related.
398   --
399   --  PARAMETERS:
400   --      In:  p_set_of_bks_id      Identifier of GL set of book
401   --           p_acc_flex           GL code combination
402   --
403   --
404   --  DESIGN REFERENCES:
405   --
406   --
407   --  CHANGE HISTORY:
408   --
409   --           30-MAY-2005: Donghai Wang Created
410   --
411   --===========================================================================
412   FUNCTION Check_Cash_Related_Account(p_Set_Of_Bks_Id IN NUMBER,
413                                       p_Acc_Flex      IN VARCHAR2)
414     RETURN BOOLEAN;
415 
416   --==========================================================================
417   --  FUNCTION NAME:
418   --
419   --    Check_Accounting_Period_Range                    Public
420   --
421   --  DESCRIPTION:
422   --
423   --    This function is used to check whether all the periods' status within
424   --    the range are 'C' or 'P'
425   --
426   --
427   --  PARAMETERS:
428   --      In:        p_legal_entity_id      Legal entity ID
429   --      In:        p_start_period_name    Start period name
430   --      In:        p_end_period_name      End period name
431   --
432   --  RETURN:
433   --      True for success, otherwise False
434   --
435   --  DESIGN REFERENCES:
436   --
437   --
438   --  CHANGE HISTORY:
439   --
440   --      04-July-2006     Joseph Wang Created
441   --
442   --===========================================================================
443   FUNCTION Check_Accounting_Period_Range(p_Start_Period_Name IN VARCHAR2,
444                                          p_End_Period_Name   IN VARCHAR2,
445                                          p_Legal_Entity_Id   NUMBER,
446                                          p_ledger_id         IN NUMBER)--added by lyb
447     RETURN BOOLEAN;
448 
449   FUNCTION Fetch_Account_Structure(p_Le_Id IN NUMBER) RETURN VARCHAR2;
450 
451   --==========================================================================
452   --  PROCEDURE NAME:
453   --
454   --    Populate_Ledger_Le_Bsv_Gt                    Public
455   --
456   --  DESCRIPTION:
457   --
458   --    This procedure is used to populate the balance segment of currenct
459   --    legal entity and ledger into temporary table ja_cn_ledger_le_bsv_gt
460   --
461   --
462   --  PARAMETERS:
463   --      In:        p_legal_entity_id      Legal entity ID
464   --      In:        p_ledger_id            Ledger ID
465   --
466   --
467   --  DESIGN REFERENCES:
468   --
469   --
470   --  CHANGE HISTORY:
471   --
472   --      12-Mar-07     Qingjun Zhao Created
473   --
474   FUNCTION Populate_Ledger_Le_Bsv_Gt(p_Ledger_Id       IN NUMBER,
475                                      p_Legal_Entity_Id IN NUMBER)
476     RETURN VARCHAR2;
477 
478     --==========================================================================
479   --  FUNCTION NAME:
480   --
481   --    Get_Balancing_Segment_Value                    Public
482   --
483   --  DESCRIPTION:
484   --
485   --    This function is used to get balancing segment value for the specified key flexfield segments.
486   --
487   --
488   --  PARAMETERS:
489   --      In:        p_coa_id                     Chart of account ID
490   --      In:        p_concatenated_segments      Concatenated segments
491   --
492   --  RETURN:
493   --      Balancing segment value, NULL for abnormal cases.
494   --
495   --  DESIGN REFERENCES:
496   --
497   --
498   --  CHANGE HISTORY:
499   --
500   --      29-Aug-2008     Chaoqun Wu Created
501   --
502   --===========================================================================
503   FUNCTION Get_Balancing_Segment_Value(
504                                  p_coa_id IN NUMBER,
508 
505                                  p_concatenated_segments   IN  VARCHAR2)
506   RETURN VARCHAR2;
507 
509 --==========================================================================
510 --  FUNCTION NAME:
511 --
512 --    Get_XML_Encoding                    Public
513 --
514 --  DESCRIPTION:
515 --
516 --    This function is used to get the encoding of XML files.
517 --
518 --  PARAMETERS:
519 --
520 --  RETURN:
521 --      the encoding of the session
522 --
523 --  DESIGN REFERENCES:
524 --
525 --
526 --  CHANGE HISTORY:
527 --
528 --      20-MAR-2010     Jason Liu Created
529 --
530 --===========================================================================
531 
532 FUNCTION Get_XML_Encoding
533 RETURN VARCHAR2;
534 
535 --==========================================================================
536 --  FUNCTION NAME:
537 --
538 --    Get_XML_Tag                    Public
539 --
540 --  DESCRIPTION:
541 --
542 --    This function is used to get the meaning for the specified lookup code
543 --    of the lookup type 'JA_CN_XML_TAGS', 'JA_CN_FA_XML_TAGS',
544 --   'JA_CN_APAR_XML_TAGS', and then generate the XML tags according to the
545 --    tag type.
546 --
547 --  PARAMETERS:
548 --      In:        pv_lookup_code    lookup code
549 --                 pv_tag_type       tag type, the values: S,E,B,N
550 --                 pv_module_name    module name, the values: GLSI,
551 --                                                       FA,APAR,HR
552 --
553 --  RETURN:
554 --      XML tags of the specified lookup code according to the tag type
555 --
556 --  DESIGN REFERENCES:
557 --
558 --
559 --  CHANGE HISTORY:
560 --
561 --      20-JAN-2010     Jason Liu Created
562 --
563 --===========================================================================
564 FUNCTION Get_XML_Tag
565 (pv_lookup_code VARCHAR2
566 ,pv_tag_type    VARCHAR2 DEFAULT 'N'
567 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
568 )
569 RETURN VARCHAR2;
570 
571 --==========================================================================
572 --  PROCEDURE NAME:
573 --
574 --    Add_Sub_Root_Node                    Public
575 --
576 --  DESCRIPTION:
577 --
578 --    This procedure is used to add the sub root node of each report.
579 --
580 --  PARAMETERS:
581 --      In:        pv_sub_root_tag_name      sub root tag name
582 --                 pv_tag_type               tag type, the values: S,E,B
583 --                 pv_module_name            module name, the values: GLSI,
584 --                                                       FA,APAR,HR
585 --
586 --
587 --  DESIGN REFERENCES:
588 --
589 --
590 --  CHANGE HISTORY:
591 --
592 --      20-JAN-2010     Jason Liu Created
593 --
594 --===========================================================================
595 PROCEDURE Add_Sub_Root_Node
596 (pv_sub_root_tag_name VARCHAR2
597 ,pv_tag_type          VARCHAR2
598 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
599 );
600 
601 --==========================================================================
602 --  PROCEDURE NAME:
603 --
604 --    Add_Child_Node                    Public
605 --
606 --  DESCRIPTION:
607 --
608 --    This procedure is used to add the child node of each report.
609 --
610 --  PARAMETERS:
611 --      In:        pv_child_tag_name         child tag name
612 --                 pv_text_node_value        the value of the node
613 --                 pv_data_type              data type, the values: VARCHAR2,
614 --                                           NUMBER
615 --                 pv_required               required or not, the values: Y, N
616 --                 pv_module_name            module name, the values: GLSI,
617 --                                                       FA,APAR,HR
618 --
619 --  DESIGN REFERENCES:
620 --
621 --
622 --  CHANGE HISTORY:
623 --
624 --      20-JAN-2010     Jason Liu Created
625 --
626 --===========================================================================
627 PROCEDURE Add_Child_Node
628 (pv_child_tag_name  VARCHAR2
629 ,pv_text_node_value VARCHAR2
630 ,pv_data_type       VARCHAR2 DEFAULT 'VARCHAR2'
631 ,pv_required        VARCHAR2 DEFAULT 'Y'
632 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
633 );
634 
635 --==========================================================================
636 --  PROCEDURE NAME:
637 --
638 --    Add_Fixed_Child_Node                    Public
639 --
640 --  DESCRIPTION:
641 --
642 --    This procedure is used to add the child node which have fixed length.
643 --
644 --  PARAMETERS:
645 --      In:        pv_child_tag_name         child tag name
646 --                 pv_text_node_value        the value of the node
647 --                 pn_fixed_length           the length
648 --                 pv_required               required or not, the values: Y, N
649 --                 pv_module_name            module name, the values: GLSI,
650 --                                                       FA,APAR,HR
651 --
652 --  DESIGN REFERENCES:
653 --
654 --
655 --  CHANGE HISTORY:
656 --
657 --      20-JAN-2010     Jason Liu Created
658 --
659 --===========================================================================
660 PROCEDURE Add_Fixed_Child_Node
661 (pv_child_tag_name  VARCHAR2
662 ,pv_text_node_value VARCHAR2
663 ,pn_fixed_length    NUMBER
664 ,pv_required        VARCHAR2 DEFAULT 'Y'
665 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
666 );
667 
668 --==========================================================================
672 --
669 --  FUNCTION NAME:
670 --
671 --    Replace_Special_Characters                    Public
673 --  DESCRIPTION:
674 --
675 --    This function is used to replace the special characters.
676 --
677 --  PARAMETERS:
678 --      In:        pv_source_string         the values which may include the
679 --                                          special characters
680 --
681 --  DESIGN REFERENCES:
682 --
683 --
684 --  CHANGE HISTORY:
685 --
686 --      20-JAN-2010     Jason Liu Created
687 --
688 --===========================================================================
689 FUNCTION Replace_Special_Characters(pv_source_string VARCHAR2)
690 RETURN VARCHAR2;
691 
692 --==========================================================================
693 --  FUNCTION NAME:
694 --
695 --    Process_Subsidiary_Item                    Public
696 --
697 --  DESCRIPTION:
698 --
699 --    This function is used to wrap the Subsidiary Items to meeting the
700 --    CNAOV2 standard.
701 --
702 --  PARAMETERS:
703 --      In:        pn_subsidiary_item_no    Subsidiary Item No
704 --                 pv_subsidiary_item       Subsidiary Item value
705 --
706 --  DESIGN REFERENCES:
707 --
708 --
709 --  CHANGE HISTORY:
710 --
711 --      15-Mar-2010     Wei Huang Created
712 --
713 --===========================================================================
714 FUNCTION Process_Subsidiary_Item
715 ( pn_subsidiary_item_no NUMBER
716 , pv_subsidiary_item  VARCHAR2 )
717 RETURN VARCHAR2;
718 
719 --==========================================================================
720 --  FUNCTION NAME:
721 --
722 --    Generate_File_Name                    Public
723 --
724 --  DESCRIPTION:
725 --
726 --    This function is used to get generate the filename for the output CNAOv2 XML file.
727 --
728 --
729 --  PARAMETERS:
730 --      In:        pv_module_name               VARCHAR2 module name, the values: GL, SI,
731 --                                                       FA,APAR,HR
732 --      In:        pv_ledger_id                 NUMBER identifier of legal entity
733 --      In:        pv_accounting_year           VARCHAR2 accounting year
734 --      In:        pv_start_month               VARCHAR2 start month
735 --      In:        pv_end_month                 VARCHAR2 end month
736 --
737 --  RETURN:
738 --      Output file name value, NULL for abnormal cases.
739 --
740 --  DESIGN REFERENCES:
741 --
742 --
743 --  CHANGE HISTORY:
744 --
745 --      09-Mar-2010     Qingyi Wang Created
746 --
747 --===========================================================================
748 FUNCTION Generate_File_name
749 (pv_module_name      IN VARCHAR2
750 ,pv_ledger_id        IN NUMBER
751 ,pv_accounting_year  IN VARCHAR2
752 ,pv_from_period      IN VARCHAR2
753 ,pv_to_period        IN VARCHAR2)
754 RETURN VARCHAR2;
755 
756 --==========================================================================
757   --  FUNCTION NAME:
758   --
759   --    Check_System_Option                        Public
760   --
761   --  DESCRIPTION:
762   --
763   --    This function is to check the system option form, if any of the fields
764   --    has no value, the error message will be displayed.
765   --
766   --  PARAMETERS:
767   --      In:  pn_legal_entity_id     legal_entity ID
768   --  DESIGN REFERENCES:
769   --    CNAO_V2_GL_TD.doc
770   --
771   --  CHANGE HISTORY:
772   --
773   --           20-JAN-2010   Chongwu Li  created
774 FUNCTION Check_System_Option(pn_legal_entity_id NUMBER)
775 RETURN BOOLEAN;
776 
777 --==========================================================================
778 --  PROCEDURE NAME:
779 --
780 --    Print_Concurrent_Steps_For_Log                    Public
781 --
782 --  DESCRIPTION:
783 --
784 --    This procedure is used to print the logs for the top concurrent.
785 --
786 --  PARAMETERS:
787 --      In:        pv_step_number        the step number
788 --                 pv_report_name        the root lookup code of the report
789 --                 pv_module_name        module name, the values: GLSI,
790 --                                                       FA,APAR,HR
791 --
792 --  DESIGN REFERENCES:
793 --
794 --
795 --  CHANGE HISTORY:
796 --
797 --      20-MAR-2010     Jason Liu Created
798 --
799 --===========================================================================
800 PROCEDURE Print_Concurrent_Steps_For_Log
801 (pv_step_number VARCHAR2
802 ,pv_report_name VARCHAR2
803 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
804 );
805 
806 --==========================================================================
807 --  PROCEDURE NAME:
808 --
809 --    Print_No_Data_Found_For_Log                    Public
810 --
811 --  DESCRIPTION:
812 --
813 --    This procedure is used to print the logs if the report have no records.
814 --
815 --  PARAMETERS:
816 --      In:        pv_report_name        the root lookup code of the report
817 --                 pv_module_name        module name, the values: GLSI,
818 --                                                       FA,APAR,HR
819 --
820 --  DESIGN REFERENCES:
821 --
822 --
823 --  CHANGE HISTORY:
824 --
825 --      20-MAR-2010     Jason Liu Created
826 --
827 --===========================================================================
828 PROCEDURE Print_No_Data_Found_For_Log
829 (pv_report_name VARCHAR2
830 ,pv_module_name VARCHAR2 DEFAULT 'GLSI'
831 );
832 
833 
837 --    Get_Rounding_Value                    Public
834 --==========================================================================
835 --  FUNCTION NAME:
836 --
838 --
839 --  DESCRIPTION:
840 --
841 --    This function is used to get rounding value with the system rounding rule.
842 --
843 --
844 --  PARAMETERS:
845 --      In:        pn_module_name               NUMBER original value
846 --
847 --  RETURN:
848 --      The rounding value.
849 --
850 --  DESIGN REFERENCES:
851 --
852 --
853 --  CHANGE HISTORY:
854 --
855 --      11-May-2010     Qingyi Wang Created
856 --
857 --===========================================================================
858 FUNCTION Get_Rounding_Value
859 (pn_original_value       IN NUMBER
860 ,pn_legal_entity_id      IN NUMBER
861 )
862 RETURN VARCHAR2;
863 
864 --==========================================================================
865 --  PROCEDURE NAME:
866 --
867 --   Get_Attribute_Column                        Public
868 --
869 --  DESCRIPTION:
870 --
871 --       	To get segment and attribute columns defined in flexfiled assignment form
872 --
873 --  PARAMETERS:
874 --      In:  pv_flexfield_code       IN VARCHAR2  Flex code in flexfield assignment
875 --           pn_application_id       IN NUMBER    Application Id
876 --           pn_coa_id               IN NUMBER    Chart of account Id
877 --
878 --  DESIGN REFERENCES:
879 --    TDD_1213_FIN_GL_P_CNAOV2_GL.doc
880 --
881 --  CHANGE HISTORY:
882 --     11-Aug-2010   Chaoqun Wu  created
883 --==========================================================================
884 FUNCTION Get_Attribute_Column
885 (pv_flexfield_code   IN VARCHAR2
886 ,pn_application_id   IN NUMBER
887 ,pn_coa_id           IN NUMBER)
888 RETURN VARCHAR2;
889 
890 --==========================================================================
891 --  PROCEDURE NAME:
892 --
893 --   Get_Segment_Value_Desc                        Public
894 --
895 --  DESCRIPTION:
896 --
897 --       	To get segment and attribute columns defined in flexfiled assignment form
898 --
899 --  PARAMETERS:
900 --      In:  pv_flexfield_code       IN VARCHAR2  Flex code in flexfield assignment
901 --           pv_flex_value           IN VARCHAR2  Segment value
902 --           pn_application_id       IN NUMBER    Application Id
903 --           pn_coa_id               IN NUMBER    Chart of account Id
904 --
905 --  DESIGN REFERENCES:
906 --    TDD_1213_FIN_GL_P_CNAOV2_GL.doc
907 --
908 --  CHANGE HISTORY:
909 --     11-Aug-2010   Chaoqun Wu  created
910 --==========================================================================
911 FUNCTION Get_Segment_Value_Desc
912 (pv_flexfield_code   IN VARCHAR2
913 ,pv_flex_value       IN VARCHAR2
914 ,pn_coa_id           IN NUMBER)
915 RETURN VARCHAR2;
916 
917 --==========================================================================
918 --  PROCEDURE NAME:
919 --
920 --   Get_Attribute_Value                        Public
921 --
922 --  DESCRIPTION:
923 --
924 --       	To get fund type code and budget source code for project
925 --
926 --  PARAMETERS:
927 --      In:  pv_flexfield_code       IN VARCHAR2  Flex code in flexfield assignment
928 --           pv_project_id           IN VARCHAR2  Project Id
929 --           pn_coa_id               IN NUMBER    Chart of account Id
930 --
931 --  DESIGN REFERENCES:
932 --    TDD_1213_FIN_GL_P_CNAOV2_GL.doc
933 --
934 --  CHANGE HISTORY:
935 --     11-Aug-2010   Chaoqun Wu  created
936 --==========================================================================
937 FUNCTION Get_Attribute_Value
938 (pv_flexfield_code   IN VARCHAR2
939 ,pv_project_id       IN VARCHAR2
940 ,pn_coa_id           IN NUMBER)
941 RETURN VARCHAR2;
942 
943 --==========================================================================
944 --  PROCEDURE NAME:
945 --
946 --   Get_Attribute_Value_Desc                        Public
947 --
948 --  DESCRIPTION:
949 --
950 --       	To get fund type description and budget source description for project
951 --
952 --  PARAMETERS:
953 --      In:  pv_flexfield_code       IN VARCHAR2  Flex code in flexfield assignment
954 --           pv_flex_value           IN VARCHAR2  Segment value
955 --           pn_coa_id               IN NUMBER    Chart of account Id
956 --
957 --  DESIGN REFERENCES:
958 --    TDD_1213_FIN_GL_P_CNAOV2_GL.doc
959 --
960 --  CHANGE HISTORY:
961 --     11-Aug-2010   Chaoqun Wu  created
962 --==========================================================================
963 FUNCTION Get_Attribute_Value_Desc
964 (pv_flexfield_code   IN VARCHAR2
965 ,pv_flex_value       IN VARCHAR2
966 ,pn_coa_id           IN NUMBER)
967 RETURN VARCHAR2;
968 
969 --==========================================================================
970 --  PROCEDURE NAME:
971 --    get_balancing_segment                     public
972 --
973 --  DESCRIPTION:
974 --      This procedure returns the balancing segment value of a CCID.
975 --
976 --  PARAMETERS:
977 --      In: P_CC_ID         NUMBER
978 --
979 --  DESIGN REFERENCES:
980 --      None
981 --
982 --  CHANGE HISTORY:
983 --     11-Aug-2010   Chaoqun Wu  created
984 --===========================================================================
985 FUNCTION get_balancing_segment
986 (P_CC_ID          IN   NUMBER
987 )
988 RETURN VARCHAR2;
989 
990 
991 
992 --==========================================================================
993 --  PROCEDURE NAME:
994 --    get_accounting_segment                     public
995 --
996 --  DESCRIPTION:
997 --      This procedure returns the balancing segment value of a CCID.
998 --
999 --  PARAMETERS:
1000 --      In: P_CC_ID         NUMBER
1001 --
1002 --  DESIGN REFERENCES:
1003 --      None
1004 --
1005 --  CHANGE HISTORY:
1006 --     22-Oct-2012   Jar Wang  created
1007 --===========================================================================
1008 FUNCTION Get_Accounting_Segment(P_CC_ID IN NUMBER) RETURN VARCHAR2 ;
1009 
1010 
1011 
1012 --==========================================================================
1013 --  PROCEDURE NAME:
1014 --
1015 --   Get_Budget_Type_Value                        Public
1016 --
1017 --  DESCRIPTION:
1018 --
1019 --       	To get budget type value for project
1020 --
1021 --  PARAMETERS:
1022 --      In:  pv_flexfield_code       IN VARCHAR2  Flex code in flexfield assignment
1023 --           pv_project_id           IN VARCHAR2  Project Id
1024 --           pn_coa_id               IN NUMBER    Chart of account Id
1025 --
1026 --  DESIGN REFERENCES:
1027 --    TDD_1213_FIN_GL_P_CNAOV2_GL.doc
1028 --
1029 --  CHANGE HISTORY:
1030 --     18-Aug-2010   Richard Qi  created
1031 --==========================================================================
1032 FUNCTION Get_Budget_Type_Value(pn_coa_id           IN NUMBER
1033                               ,pv_flexfield_code   IN VARCHAR2
1034                               ) RETURN VARCHAR2;
1035 
1036 END Ja_Cn_Utility;
1037