Leitura de documento CSV para banco e grid

Estou criando uma aplicação composta por um formulário com upload de arquivo CSV padronizado e um grid de consultas. A ideia é que o usuário envie esse documento contendo dados estruturados (como filial, data de nascimento, nota fiscal etc.), e a aplicação:

  1. Leia o conteúdo do CSV automaticamente após o upload,
  2. Insira os dados no banco de dados**,
  3. E redirecione o usuário para uma aplicação de grid para consulta.

O campo de upload está configurado como Documento (Nome do Arquivo), e o processamento ocorre no evento onAfterInsert do formulário.

Estou enfrentando esse erro:
INSERT INTO tabela_documentos (filial, documento, data_nascimento, nota_fiscal, nota_fiscal_serie, chave_nota_fiscal, cod_material, quantidade, nome_documento)
VALUES (0, “”, null, “”, “”, “”, 0, “”).

Aguardo um help no caso, já que ja vi todos as barreiras que tenho conhecimento e nao consigo resolver.

e esse é o codigo que estou usando no evento:
// Nome do arquivo CSV enviado
$nome_arquivo = {documento};

// Caminho absoluto até o arquivo
$caminho_arquivo = $_SERVER[‘DOCUMENT_ROOT’] . $SESSION[‘scriptcase’]['form’ . $this->Ini->nm_cod_apl][‘glo_nm_path_doc’] . “/” . $nome_arquivo;

// Tenta abrir o CSV
$handle = fopen($caminho_arquivo, “r”);

if ($handle !== false) {
// Ignora a primeira linha (cabeçalho)
fgetcsv($handle, 1000, “;”);

// Lê cada linha e insere no banco
while (($linha = fgetcsv($handle, 1000, ";")) !== false) {
    $filial             = $linha[0];
    $data_nascimento    = $linha[1];
    $nota_fiscal        = $linha[2];
    $chave_nota_fiscal  = $linha[3];
    $cod_material       = $linha[4];
    $quantidade         = $linha[5];

    // Monta a query de INSERT
    $sql = "
        INSERT INTO tabela_documentos (
            filial, 
            data_nascimento, 
            nota_fiscal, 
            chave_nota_fiscal, 
            cod_material, 
            quantidade
        ) VALUES (
            '$filial',
            '$data_nascimento',
            '$nota_fiscal',
            '$chave_nota_fiscal',
            '$cod_material',
            '$quantidade'
        )";

    sc_exec_sql($sql);
}

fclose($handle);

// Mensagem de sucesso
sc_alert("Arquivo CSV importado com sucesso!");

} else {
sc_error_message(“Erro ao abrir o arquivo CSV.”);
}

Abriu um tópico novo?

Fiz sugestão no outro tópico.

No evento onAfterInsert, não creio que o arquivo csv estará disponível na pasta em quastão.