{"id":28130169,"url":"https://github.com/edmilson-nascimento/document_update","last_synced_at":"2025-05-14T12:24:49.259Z","repository":{"id":156199277,"uuid":"101998277","full_name":"edmilson-nascimento/document_update","owner":"edmilson-nascimento","description":"Atualização de NF usando J_1B_NF_DOCUMENT_UPDATE","archived":false,"fork":false,"pushed_at":"2024-10-23T20:45:44.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T08:32:26.319Z","etag":null,"topics":["abap","banco-de-dados","nfe","nota","persistence","sap"],"latest_commit_sha":null,"homepage":"","language":"ABAP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edmilson-nascimento.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-08-31T12:26:08.000Z","updated_at":"2024-10-23T20:45:48.000Z","dependencies_parsed_at":"2023-12-28T21:28:27.454Z","dependency_job_id":null,"html_url":"https://github.com/edmilson-nascimento/document_update","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmilson-nascimento%2Fdocument_update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmilson-nascimento%2Fdocument_update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmilson-nascimento%2Fdocument_update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmilson-nascimento%2Fdocument_update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edmilson-nascimento","download_url":"https://codeload.github.com/edmilson-nascimento/document_update/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254140936,"owners_count":22021254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abap","banco-de-dados","nfe","nota","persistence","sap"],"created_at":"2025-05-14T12:24:35.073Z","updated_at":"2025-05-14T12:24:49.228Z","avatar_url":"https://github.com/edmilson-nascimento.png","language":"ABAP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atualização de NF\n\n![Static Badge](https://img.shields.io/badge/development-abap-blue)\n![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/t/edmilson-nascimento/document_update)\n\nEste tem como objeto fazer um modelo de base para que seja poupado trabalho quando houver uma solução de atualização de Nota Fiscal.\n\n  - Utilização de BAPI\n  - Atualização de cabeçalho, item, taxas e etc\n  - Filtro para NF informada na `selection-screen`\n  \n## Recuperação das informações \n\nAntes de iniciar os ajustes, é muito importante que os dados sejam recuperados para que as tabelas obrigatórias BAPI sejam passadas corretamente. **Tabelas passadas sem informações, serão aceitas como deleção para esta BAPI.**\nA recuperação dessas informações pode ser feita através da BAPI `'J_1B_NF_DOCUMENT_READ'` conforme abaixo.\n```abap\n        call function 'J_1B_NF_DOCUMENT_READ'\n          exporting\n            doc_number               = doc_number\n          importing\n            doc_header               = doc_header\n          tables\n            doc_partner              = doc_partner\n            doc_item                 = doc_item\n            doc_item_tax             = doc_item_tax\n            doc_header_msg           = doc_header_msg\n            doc_refer_msg            = doc_refer_msg\n*           doc_ot_partner           =\n*           doc_import_di            =\n*           doc_import_adi           =\n*           doc_cte_res              =\n*           doc_cte_docref           =\n          exceptions\n            document_not_found       = 1\n            docum_lock               = 2\n            others                   = 3 .\n        if sy-subrc \u003c\u003e 0 .\n          message id sy-msgid type sy-msgty number sy-msgno\n                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.\n        endif.\n  ```\n  \n## Alteração das informações \n\nApos a *Recuperação das informações*, ficam disponíveis as tabelas internas para que os dados sejam alterados. Basta atualizar o registro que deseja antes de chamar a próxima `BAPI`.\n\n## Atualização das informações \n\nÉ possivel fazer alteração dos valores que espera que sejam atualizados no pontos onde as informações são passadas para as estrutura/tabelas da BAPI. Nesse caso, estou alterando apenas o campo `taxsi4` que corresponde a *Situação de impostos COFINS*, mas pode ser aplicados a varios campos diferentes.\n```abap\n    loop at lt_j_1bnflin into ls_j_1bnflin .\n      ls_j_1bnflin-taxsi4 = '04' .\n      append ls_j_1bnflin to doc_item .\n    endloop .\n```\n\nAs informações são recuperadas pelas estruturas/tabelas `ls_j_1bnfdoc` e `lt_j_1bnflin`, mas as informações que serão atualizadas estão nos parâmetros de entrada da função `J_1B_NF_DOCUMENT_UPDATE`.\n\nApos a execução, é necessário um `commit` de bando de dados, que nesse caso é feito pela `BAPI` responsavel.\n\n```abap\n      call function 'BAPI_TRANSACTION_COMMIT'\n*         exporting\n*           wait          =\n*         importing\n*           return        =\n                .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmilson-nascimento%2Fdocument_update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedmilson-nascimento%2Fdocument_update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmilson-nascimento%2Fdocument_update/lists"}