Files
comun/docs/oracle_export.md

3.1 KiB
Raw Blame History

Export surse Oracle (PACK_CONTAFIN & co.) — cum se face

PACK_CONTAFIN.pck din acest folder este exportul sursei pachetului PL/SQL PACK_CONTAFIN. Claude Code își face singur exportul/reîmprospătarea — nu mai e nevoie de export manual din PL/SQL Developer.

Conexiune

  • Client: D:\ROA\instantclient_19_18\sqlplus.exe (TNS_ADMIN e deja setat spre același folder).
  • Alias TNS: ROA_CENTRAL10.0.20.121:1521, SERVICE_NAME=ROA (vezi tnsnames.ora).
  • Schema/utilizator: MARIUSM_AUTO (schema de dezvoltare a lui Marius).
  • Parola nu e versionată — se află local, în D:\ROA\ROAGEST\docs\local\oracle.md (folder ignorat de git), pe mașina de lucru.

PACK_CONTAFIN există în schemele MARIUSM_AUTO (dev) și ACN, plus un sinonim PUBLIC. Exportul de referință se face din MARIUSM_AUTO.

Gotcha sqlplus pe Windows/PowerShell

Nu trimite SQL prin pipe din PowerShell ('select...' | sqlplus) — BOM-ul UTF-16 sparge parserul (SP2-0734: unknown command beginning "select..."). Scrie un fișier .sql cu encoding ASCII și rulează-l cu @fisier.sql.

Comanda de export (re-generare .pck)

-- export_pack.sql
set pagesize 0 linesize 400 trimspool on feedback off heading off termout off
spool D:\ROA\ROAGEST\COMUN\docs\PACK_CONTAFIN.pck
select text from all_source where owner='MARIUSM_AUTO' and name='PACK_CONTAFIN' and type='PACKAGE' order by line;
select '/' from dual;
select text from all_source where owner='MARIUSM_AUTO' and name='PACK_CONTAFIN' and type='PACKAGE BODY' order by line;
select '/' from dual;
spool off
exit
& 'D:\ROA\instantclient_19_18\sqlplus.exe' -L -S 'MARIUSM_AUTO/<parola>@ROA_CENTRAL' '@export_pack.sql'

Același tipar merge pentru orice alt pachet/procedură (PACK_SESIUNE, PACK_PRETURI, …) sau pentru DDL de tabele/view-uri (all_tab_columns, dbms_metadata.get_ddl).

Ce e strict necesar de știut despre PACK_CONTAFIN

Pachetul central de scriere a documentelor — clientul VFP populează tabelele temporare ACT_TEMP/RUL_TEMP (prin oscrie_in_fisiere-ul din COMUN), apoi pachetul distribuie:

  • SCRIE_IN_FISIERE — orchestratorul (apelat per document).
  • SCRIE_IN_ACTACT_TEMPACT (notele contabile).
  • SCRIE_IN_RULRUL_TEMPRUL (mișcările de stoc); completează COD, DATAORA, ID_FACT (min. id_fact fără conturi 5xx), ID_SUCURSALA, DATAIN/DATAOUT din dataact, opțional ID_RUL_AUX pe furnizor (opțiunea de firmă RULAJFURNIZOR). Scrie exact ce e în RUL_TEMP — nu derivă rulaje din ACT, deci filtrarea liniilor de rulaj se face în clientul VFP.
  • SCRIE_IN_RUL_OBINV / SCRIE_IN_STOC / SCRIE_IN_STOC_OBINV — variantele pentru obiecte de inventar și actualizarea stocului.
  • VERIFICA_NOTE_CONTABILE, SCRIE_JC_2007/SCRIE_JV_2007 (jurnale TVA), SCRIE_IN_BALANTA(_PARTENERI), sterge_document, finalizeaza_document_*.
  • Stare de sesiune prin settere/gettere (SET_COD/GET_COD, SET_IDFACT, SET_ID_SUCURSALA, …)
    • PACK_SESIUNE (an/lună, opțiuni firmă).