@@ -780,7 +780,7 @@ def from_json(self, value):
780780class VariableDeclaration (Identifier ):
781781 MAXIMUM_LENGTH = - 1
782782
783- def __init__ (self , name , type_info , nullable , max_length , precision , scale ):
783+ def __init__ (self , name , type_info , nullable , max_length , precision , scale , fixed_length = None ):
784784 super (VariableDeclaration , self ).__init__ (name )
785785
786786 self ._type_info = type_info
@@ -804,6 +804,7 @@ def __init__(self, name, type_info, nullable, max_length, precision, scale):
804804 else :
805805 self ._scale = int (scale )
806806 self ._check_scale_value ()
807+ self ._fixed_length = bool (fixed_length )
807808
808809 @property
809810 def type_info (self ):
@@ -839,6 +840,10 @@ def precision(self):
839840 def scale (self ):
840841 return self ._scale
841842
843+ @property
844+ def fixed_length (self ):
845+ return self ._fixed_length
846+
842847 def from_literal (self , value ):
843848 if value is None :
844849 if not self .nullable :
@@ -1797,8 +1802,9 @@ class StructTypeProperty(VariableDeclaration):
17971802
17981803 # pylint: disable=too-many-locals
17991804 def __init__ (self , name , type_info , nullable , max_length , precision , scale , uncode , label , creatable , updatable ,
1800- sortable , filterable , filter_restr , req_in_filter , text , visible , display_format , value_list ):
1801- super (StructTypeProperty , self ).__init__ (name , type_info , nullable , max_length , precision , scale )
1805+ sortable , filterable , filter_restr , req_in_filter , text , visible , display_format , value_list ,
1806+ fixed_length = None ):
1807+ super (StructTypeProperty , self ).__init__ (name , type_info , nullable , max_length , precision , scale , fixed_length )
18021808
18031809 self ._value_helper = None
18041810 self ._struct_type = None
@@ -1933,7 +1939,10 @@ def from_etree(entity_type_property_node):
19331939 sap_attribute_get_string (entity_type_property_node , 'text' ),
19341940 sap_attribute_get_bool (entity_type_property_node , 'visible' , True ),
19351941 sap_attribute_get_string (entity_type_property_node , 'display-format' ),
1936- sap_attribute_get_string (entity_type_property_node , 'value-list' ), )
1942+ sap_attribute_get_string (entity_type_property_node , 'value-list' ),
1943+ # Back to regular, non-SAP attributes.
1944+ attribute_get_bool (entity_type_property_node , 'FixedLength' , False ),
1945+ )
19371946
19381947
19391948class NavigationTypeProperty (VariableDeclaration ):
@@ -1956,7 +1965,7 @@ class NavigationTypeProperty(VariableDeclaration):
19561965 """
19571966
19581967 def __init__ (self , name , from_role_name , to_role_name , association_info ):
1959- super (NavigationTypeProperty , self ).__init__ (name , None , False , None , None , None )
1968+ super (NavigationTypeProperty , self ).__init__ (name , None , False , None , None , None , None )
19601969
19611970 self .from_role_name = from_role_name
19621971 self .to_role_name = to_role_name
@@ -2629,7 +2638,7 @@ class FunctionImportParameter(VariableDeclaration):
26292638 Modes = Enum ('Modes' , 'In Out InOut' )
26302639
26312640 def __init__ (self , name , type_info , nullable , max_length , precision , scale , mode ):
2632- super (FunctionImportParameter , self ).__init__ (name , type_info , nullable , max_length , precision , scale )
2641+ super (FunctionImportParameter , self ).__init__ (name , type_info , nullable , max_length , precision , scale , None )
26332642
26342643 self ._mode = mode
26352644
0 commit comments