#1
|
|||
|
|||
Select con variables de DB externa
Necesito ayuda, pues necesito desarrollar un programa que lea las variables de una Base de datos externa al sap, y con esto realizar un select a las tablas BSEG y BKPF o un join de los dos, la tabla esta formada por 4 columnas: TABLA, CAMPO, INDICADOR, CONDICION. Por ejemplo existe una fila con los siguientes campos: BSEG, BELNR, SUM(DMBTR), GJAHR = '2009'. y finalmente con estos datos realizar un insert a una tabla. (select BELNR SUM(DMBTR) FROM BSEG into IT_ROWS where GJAHR = '2009')
|
#2
|
|||
|
|||
DATA: dbs TYPE dbcon-con_name.
DATA: con(20) TYPE c. CON = 'OWBSAP'. "DB Connection in DBCO above DATA: BEGIN OF wa OCCURS 15, P_TAB like dd02l-tabname, P_CAMP(100) type c, END OF wa. DATA: BEGIN OF itbl OCCURS 15, TABNAME like dd02l-tabname, CAMP(100) type c, COUNT_ROWS TYPE I, END OF itbl. EXEC SQL. connect to :con ENDEXEC. EXEC SQL. set connection :con ENDEXEC. EXEC SQL. OPEN C FOR SELECT tabla_fuente, campo from sap_registros where procesar = 'SI' ENDEXEC. DO. EXEC SQL. FETCH NEXT C INTO :wa ENDEXEC. IF sy-subrc NE 0. EXIT. ENDIF. APPEND wa TO itbl. ENDDO. EXEC SQL. CLOSE C ENDEXEC. EXEC SQL. DISCONNECT :CON ENDEXEC. LOOP AT itbl. SELECT SINGLE tabname INTO itbl-TABNAME FROM dd02l WHERE tabname EQ itbl-TABNAME. IF sy-subrc <> 0. itbl-COUNT_ROWS = '0'. ELSE. SELECT (itbl-campo) COUNT( * ) INTO itbl-COUNT_ROWS FROM (itbl-TABNAME) . ENDIF. EXEC SQL. connect to :con ENDEXEC. EXEC SQL. set connection :con ENDEXEC. EXEC SQL. update sap_registros set NRO_REGISTROS_SAP = :itbl-COUNT_ROWS, PROCESAR = 'NO' WHERE TABLA_FUENTE = :itbl-TABNAME ENDEXEC. ENDLOOP. No funciona. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|