def __init__(self, std_ent_cls_code='PPD', transaction_code='', recv_dfi_id='',
                 check_digit='', amount='', num_add_recs='', card_exp_date='',
                 doc_ref_num='', ind_card_acct_num='', card_tr_typ_code_shr='',
                 card_tr_typ_code_pos='', trace_num='', dfi_acnt_num='',
                 ind_name='', disc_data='', id_number='', recv_cmpy_name='',
                 chk_serial_num='', terminal_city='', terminal_state='',
                 pmt_type_code='', add_rec_ind=''):
        self.std_ent_cls_code = std_ent_cls_code
        self.reserved = self.make_space(2)

        fields = locals().copy()

        for key in fields:
            if key == 'self':
                continue

            if fields[key] != '':
                self.__setattr__(key, fields[key])

            elif key in ['chk_serial_num', 'ind_name']:
                if self.std_ent_cls_code in ['CIE', 'MTE', 'POP']:
                    self.__setattr__(
                        key, self.make_space(self.field_lengths[key][0])
                    )
                else:
                    self.__setattr__(
                        key, self.make_space(self.field_lengths[key][1])
                    )

            elif key in self.numeric_fields:
                if key == 'recv_dfi_id':
                    self.__setattr__(key, self.make_zero(self.field_lengths[key][0]))
                else:
                    self.__setattr__(key, self.make_zero(self.field_lengths[key]))

            elif key in self.alpha_numeric_fields:
                self.__setattr__(
                    key, self.make_space(self.field_lengths[key])
                )
__setitem__ must be defined in the SoftLink class in order for array
dataset/ETHPy150Open travishathaway/python-ach/ach/data_types.py/EntryDetail.__init__--crossover with--dataset/ETHPy150Open PyTables/PyTables/tables/link.py/SoftLink.__setitem__