68: /*#
69: * Clear Dependent Attributes
70: * @param p_attr_id attribute id
71: * @param p_ref_designator_rec reference designator record
72: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
73: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
74: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
75: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
76: * @param x_ref_designator_rec returned reference designator record
70: * @param p_attr_id attribute id
71: * @param p_ref_designator_rec reference designator record
72: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
73: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
74: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
75: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
76: * @param x_ref_designator_rec returned reference designator record
77: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
78: * @rep:scope private
71: * @param p_ref_designator_rec reference designator record
72: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
73: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
74: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
75: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
76: * @param x_ref_designator_rec returned reference designator record
77: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
78: * @rep:scope private
79: * @rep:lifecycle active
73: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
74: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
75: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
76: * @param x_ref_designator_rec returned reference designator record
77: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
78: * @rep:scope private
79: * @rep:lifecycle active
80: * @rep:displayname Clear Dependent Attributes
81: */
82:
83:
84: PROCEDURE Clear_Dependent_Attr
85: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
86: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
87: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
88: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
89: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
90: );
83:
84: PROCEDURE Clear_Dependent_Attr
85: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
86: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
87: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
88: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
89: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
90: );
91:
84: PROCEDURE Clear_Dependent_Attr
85: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
86: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
87: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
88: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
89: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
90: );
91:
92: -- Procedure Apply_Attribute_Changes
85: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
86: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
87: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
88: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
89: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
90: );
91:
92: -- Procedure Apply_Attribute_Changes
93:
93:
94: /*#
95: * Apply Attribute Changes
96: * @param p_ref_designator_rec reference designator record
97: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
98: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
99: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
100: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
101: * @param x_ref_designator_rec returned reference designator record
95: * Apply Attribute Changes
96: * @param p_ref_designator_rec reference designator record
97: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
98: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
99: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
100: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
101: * @param x_ref_designator_rec returned reference designator record
102: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
103: * @rep:scope private
96: * @param p_ref_designator_rec reference designator record
97: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
98: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
99: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
100: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
101: * @param x_ref_designator_rec returned reference designator record
102: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
103: * @rep:scope private
104: * @rep:lifecycle active
98: * @param p_old_ref_designator_rec old reference designator record. This is defaulted to
99: * Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
100: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
101: * @param x_ref_designator_rec returned reference designator record
102: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
103: * @rep:scope private
104: * @rep:lifecycle active
105: * @rep:displayname Apply Attribute Changes
106: */
105: * @rep:displayname Apply Attribute Changes
106: */
107:
108: PROCEDURE Apply_Attribute_Changes
109: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
110: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
111: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
112: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
113: );
106: */
107:
108: PROCEDURE Apply_Attribute_Changes
109: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
110: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
111: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
112: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
113: );
114:
107:
108: PROCEDURE Apply_Attribute_Changes
109: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
110: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
111: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
112: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
113: );
114:
115: -- Function Convert_Miss_To_Null
108: PROCEDURE Apply_Attribute_Changes
109: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
110: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
111: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
112: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
113: );
114:
115: -- Function Convert_Miss_To_Null
116:
117: /*#
118: * This method will convert the missing values of some attributes that the user wishes to NULL
119: * This can be used with ECO
120: * @param p_ref_designator_rec the record that need to be converted
121: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
122: * @return the converted record
123: * @rep:scope private
124: * @rep:lifecycle active
125: * @rep:displayname Convert Miss To Null
126: */
127:
128:
129: FUNCTION Convert_Miss_To_Null
130: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
131: ) RETURN Bom_Bo_Pub.Ref_Designator_Rec_Type;
132:
133: -- Function Query_Row
134:
127:
128:
129: FUNCTION Convert_Miss_To_Null
130: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
131: ) RETURN Bom_Bo_Pub.Ref_Designator_Rec_Type;
132:
133: -- Function Query_Row
134:
135: /*#
138: * @param p_ref_designator This with the next two parameters form Reference Designator Key
139: * @param p_component_sequence_id component sequence id
140: * @param p_acd_type acd type
141: * @param x_Ref_Designator_Rec Reference Designator Record of exposed columns
142: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
143: * @param x_Ref_Desg_Unexp_Rec Reference Designator Record of Unexposed Columns
144: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type}
145: * @param x_Return_Status Indicating success or faliure
146: * @rep:scope private
140: * @param p_acd_type acd type
141: * @param x_Ref_Designator_Rec Reference Designator Record of exposed columns
142: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_Rec_Type }
143: * @param x_Ref_Desg_Unexp_Rec Reference Designator Record of Unexposed Columns
144: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type}
145: * @param x_Return_Status Indicating success or faliure
146: * @rep:scope private
147: * @rep:lifecycle active
148: * @rep:displayname Query Row
152: PROCEDURE Query_Row
153: ( p_ref_designator IN VARCHAR2
154: , p_component_sequence_id IN NUMBER
155: , p_acd_type IN NUMBER
156: , x_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
157: , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
158: , x_Return_Status IN OUT NOCOPY VARCHAR2
159: );
160:
153: ( p_ref_designator IN VARCHAR2
154: , p_component_sequence_id IN NUMBER
155: , p_acd_type IN NUMBER
156: , x_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
157: , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
158: , x_Return_Status IN OUT NOCOPY VARCHAR2
159: );
160:
161: /*#
161: /*#
162: * Perform Writes is the only exposed method that the user will have access, to perform
163: * any insert/update/deletes to corresponding database tables . This can be used with ECO
164: * @param p_ref_designator_rec Reference Designator exposed column record
165: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_rec_Type }
166: * @param p_ref_desg_unexp_rec Reference Designator unexposed column record
167: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type }
168: * @param p_control_rec control record.This is defaulted as BOM_BO_PUB.G_DEFAULT_CONTROL_REC
169: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Control_Rec_Type }
163: * any insert/update/deletes to corresponding database tables . This can be used with ECO
164: * @param p_ref_designator_rec Reference Designator exposed column record
165: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_rec_Type }
166: * @param p_ref_desg_unexp_rec Reference Designator unexposed column record
167: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type }
168: * @param p_control_rec control record.This is defaulted as BOM_BO_PUB.G_DEFAULT_CONTROL_REC
169: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Control_Rec_Type }
170: * @param x_Mesg_Token_Tbl Message token table
171: * @rep:paraminfo { @rep:innertype Error_Handler.Mesg_Token_Tbl_Type }
164: * @param p_ref_designator_rec Reference Designator exposed column record
165: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_rec_Type }
166: * @param p_ref_desg_unexp_rec Reference Designator unexposed column record
167: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type }
168: * @param p_control_rec control record.This is defaulted as BOM_BO_PUB.G_DEFAULT_CONTROL_REC
169: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Control_Rec_Type }
170: * @param x_Mesg_Token_Tbl Message token table
171: * @rep:paraminfo { @rep:innertype Error_Handler.Mesg_Token_Tbl_Type }
172: * @param x_Return_status Return Status
165: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Designator_rec_Type }
166: * @param p_ref_desg_unexp_rec Reference Designator unexposed column record
167: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type }
168: * @param p_control_rec control record.This is defaulted as BOM_BO_PUB.G_DEFAULT_CONTROL_REC
169: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Control_Rec_Type }
170: * @param x_Mesg_Token_Tbl Message token table
171: * @rep:paraminfo { @rep:innertype Error_Handler.Mesg_Token_Tbl_Type }
172: * @param x_Return_status Return Status
173: * @rep:scope private
175: * @rep:displayname Perform Writes
176: */
177:
178: PROCEDURE Perform_Writes
179: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
180: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
181: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
182: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
183: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
176: */
177:
178: PROCEDURE Perform_Writes
179: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
180: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
181: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
182: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
183: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
184: , x_return_status IN OUT NOCOPY VARCHAR2
177:
178: PROCEDURE Perform_Writes
179: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
180: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
181: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
182: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
183: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
184: , x_return_status IN OUT NOCOPY VARCHAR2
185: );
178: PROCEDURE Perform_Writes
179: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
180: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
181: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
182: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
183: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
184: , x_return_status IN OUT NOCOPY VARCHAR2
185: );
186:
191:
192: /*#
193: * This method will convert the missing values of some attributes that the user wishes to NULL
194: * @param p_bom_ref_designator_rec the record that need to be converted
195: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type }
196: * @return the converted record
197: * @rep:scope private
198: * @rep:lifecycle active
199: * @rep:displayname Convert Miss To Null
198: * @rep:lifecycle active
199: * @rep:displayname Convert Miss To Null
200: */
201: FUNCTION Convert_Miss_To_Null
202: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
203: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
204:
205: -- Function Query_Row
206:
199: * @rep:displayname Convert Miss To Null
200: */
201: FUNCTION Convert_Miss_To_Null
202: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
203: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
204:
205: -- Function Query_Row
206:
207:
211: * @param p_bom_ref_designator This with the next two parameters form Reference Designator Key
212: * @param p_component_sequence_id component sequence id
213: * @param p_acd_type acd type
214: * @param x_bom_Ref_Designator_Rec Reference Designator Record of exposed columns
215: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type }
216: * @param x_bom_Ref_Desg_Unexp_Rec Reference Designator Record of Unexposed Columns
217: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Desg_Unexposed_Rec_Type}
218: * @param x_Return_Status Indicating success or faliure
219: * @rep:scope private
213: * @param p_acd_type acd type
214: * @param x_bom_Ref_Designator_Rec Reference Designator Record of exposed columns
215: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type }
216: * @param x_bom_Ref_Desg_Unexp_Rec Reference Designator Record of Unexposed Columns
217: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Desg_Unexposed_Rec_Type}
218: * @param x_Return_Status Indicating success or faliure
219: * @rep:scope private
220: * @rep:lifecycle active
221: * @rep:displayname Query Row
224: PROCEDURE Query_Row
225: ( p_bom_ref_designator IN VARCHAR2
226: , p_component_sequence_id IN NUMBER
227: , p_acd_type IN NUMBER
228: , x_bom_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
229: , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
230: , x_Return_Status IN OUT NOCOPY VARCHAR2
231: );
232:
225: ( p_bom_ref_designator IN VARCHAR2
226: , p_component_sequence_id IN NUMBER
227: , p_acd_type IN NUMBER
228: , x_bom_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
229: , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
230: , x_Return_Status IN OUT NOCOPY VARCHAR2
231: );
232:
233: /*#
233: /*#
234: * Perform Writes is the only exposed method that the user will have access to perform any
235: * insert/update/deletes to corresponding database tables
236: * @param p_bom_ref_designator_rec BomReference Designator exposed column record
237: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_rec_Type }
238: * @param p_bom_ref_desg_unexp_rec Bom Reference Designator unexposed column record
239: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Desg_Unexposed_Rec_Type }
240: * @param x_Mesg_Token_Tbl Message token table
241: * @rep:paraminfo { @rep:innertype Error_Handler.Mesg_Token_Tbl_Type }
235: * insert/update/deletes to corresponding database tables
236: * @param p_bom_ref_designator_rec BomReference Designator exposed column record
237: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Designator_rec_Type }
238: * @param p_bom_ref_desg_unexp_rec Bom Reference Designator unexposed column record
239: * @rep:paraminfo { @rep:innertype Bom_Bo_Pub.Bom_Ref_Desg_Unexposed_Rec_Type }
240: * @param x_Mesg_Token_Tbl Message token table
241: * @rep:paraminfo { @rep:innertype Error_Handler.Mesg_Token_Tbl_Type }
242: * @param x_Return_status Return Status
243: * @rep:scope private
245: * @rep:displayname Perform Writes
246: */
247:
248: PROCEDURE Perform_Writes
249: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_rec_Type
250: , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
251: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
252: , x_return_status IN OUT NOCOPY VARCHAR2
253: );
246: */
247:
248: PROCEDURE Perform_Writes
249: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_rec_Type
250: , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
251: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
252: , x_return_status IN OUT NOCOPY VARCHAR2
253: );
254: